美文网首页
CSS animation 属性

CSS animation 属性

作者: _thor | 来源:发表于2016-08-22 18:21 被阅读76次

    一、示例

    <pre>
    语法:
    animation: name duration timing-function delay iteration-count direction;<br >
    示例代码:
    div{
    animation: scaleToSmall 3s ease 1s infinite normal;
    }<br >
    分开写:
    div{
    animation-name: scaleToSmall; // 指名字,你自己来写
    animation-duration:3s; // 你所希望的,动画执行一次耗费的时间
    animation-timing-function:ease;// 以哪种方式动画
    animation-delay: 1s;// 延迟多少秒后执行
    animation-iteration-count: infinite; // 动画执行次数
    animation-direction: normal; // 动画执行方向(感觉不常用)
    }
    </pre>

    二、animation属性解析

    1. animation-timing-function

    规定了动画的速度曲线

    w3c 的解释是:


    2. animation-iteration-count

    可以是n(即次数),可以是infinite ([ˈɪnfənɪt] 无限的;[ˌɪtəˈreʃən]循环)

    w3c 的解释是


    3. animation-direction

    是否应该要轮流反转播放,IE9以及之前版本不支持这个属性

    w3c 的解释是


    4. @keyframes

    执行上面 scaleToSmall 这个动画

    w3c 的解释


    写两个示例,便于理解
    // 1. 匀速向下运动
    @keyframes mymove
    {
    from {top:0px;}
    to {top:200px;}
    }
    // 2. 按阶段变化
    @keyframes mymove
    {
    0% {top:0px; left:0px; background:red;}
    25% {top:0px; left:100px; background:blue;}
    50% {top:100px; left:100px; background:yellow;}
    75% {top:100px; left:0px; background:green;}
    100% {top:0px; left:0px; background:red;}
    }

    3. 一些重要的属性

    3.1 step() 阶跃函数

    animation-timing-function 中的还有一个 steps() 函数
    这是一个阶跃函数
    示例 step(num,start)
    第一个参数: number类型,必须是整数;
    第二个参数:start、end;
    <pre>@keyframes circle {
    0% {background: red} ;
    50%{background: yellow} ;
    100% {background: blue} ;
    }</pre>
    如 step(5,start);
    那么,动画会在050%,阶跃5次;50%100%,阶跃5次;
    step-start为start,动画会以下一帧的显示效果来填充间隔动画,所以0% 到 50% 直接就显示了黄色yellow

    step-end为end,动画会以上一帧的显示效果来填充间隔动画,所以0% 到 50% 直接就显示了红色red

    相关文章

      网友评论

          本文标题:CSS animation 属性

          本文链接:https://www.haomeiwen.com/subject/ehlgsttx.html