[CSS]动画animation-fill-mode

文档: https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation-fill-mode

animation-fill-mode属性可以接受 none、forwards、backwards、both四个值中的一个值。

none 当动画未执行时,动画将不会将任何样式应用于目标,而是已经赋予给该元素的 CSS 规则来显示该元素。这是默认值。
forward 目标将保留由执行期间遇到的最后一个关键帧计算值。最后一个关键帧取决于animation-direction和animation-iteration-count的值。
backwards 动画将在应用于目标时立即应用第一个关键帧中定义的值,并在animation-delay期间保留此值。第一个关键帧取决于animation-direction的值。
both 动画将遵循forwards和backwards的规则,从而在两个方向上扩展动画属性。

    


常用forward:(动画执行后停在最后一个关键帧)
复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .move_in {
            animation-duration: 1s;
            animation-fill-mode: forwards;   /* 动画播放一次定格到结尾 */
            animation-name: slidein;
        }

        @keyframes slidein {
            from {
                transform: translate(-500px, 0);
            }

            to {
                transform: translate(0, 0);
            }
        }

        .move_out {
            animation-duration: 1s;
            animation-fill-mode: forwards;   /* 动画播放一次定格到结尾 */
            animation-name: slideout;
        }

        @keyframes slideout {
            from {
                transform: translate(0, 0);
            }

            to {
                transform: translate(-500px, 0);
            }
        }

        #left {
            width: 500px;
            height: 300px;
            background-color: aquamarine;
            position: relative;
            left: 500px;
        }
    </style>
</head>

<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>

<body>
    <div id="left" class="move_in">

    </div>
</body>

<script>
    $('#left').on('click', function () {
        if ($("#left").hasClass("move_out")) {
            return $('#left').removeClass('move_out').addClass('move_in')
        }

        if ($("#left").hasClass("move_in")) {
            return $('#left').removeClass('move_in').addClass('move_out')
        }
    })
</script>

</html>
复制代码

 

posted @   夕苜19  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示