• 技术文章 >web前端 >html教程

    CSS3 - animation - 说中

    2016-05-20 13:49:29原创694
    CSS3 animation

    定义keyframes

    @keyframes colorchange {
        0%   { background-color: #00F; /* from: blue */ }
        25%  { background-color: #F00; /* red        */ }
        50%  { background-color: #0F0; /* green      */ }
        75%  { background-color: #F0F; /* purple     */ }
        100% { background-color: #00F; /* to: blue   */ }
    }
    
    @-webkit-keyframes colorchange {
        0%   { background-color: #00F; /* from: blue */ }
        25%  { background-color: #F00; /* red        */ }
        50%  { background-color: #0F0; /* green      */ }
        75%  { background-color: #F0F; /* purple     */ }
        100% { background-color: #00F; /* to: blue   */ }
    }

    对于0%这个也可以用from关键字来替代,同样的可以用to来代替100%,过渡状态,你可以定义任何百分比

    animation应用到元素的属性写法,和transition差不太多

    div:hover {
      animation-name: colorchange;
      animation-duration: 1s;
      animation-timing-function: linear;
      animation-delay: 1s;
      animation-fill-mode:forwards;  /*forwards表示让动画停留在结束状态*/
      animation-direction: normal;
      animation-iteration-count: 3;  /*用来指定动画循环的次数,无限循环用infinite*/
    }
    
    
    /****简写****/
    div:hover {
      animation: 1s 1s rainbow linear 3 forwards normal;
    }

    animation-direction有四个值:

    normal:默认,从0%执行到100%

    reverse:动画从100%执行到0%

    alternate:动画在0%到100%之间往复执行;

    alternate-reverse与alternate一致,不过是从100%开始;

    animation-play-state

    有时,动画播放过程中,会突然停止。这时,默认行为是跳回到动画的开始状态;

    如果想让动画保持突然终止时的状态可以使用animation-play-state: running;

    浏览器支持

    IE 10和Firefox(>= 16)支持没有前缀的animation,而chrome不支持,所以必须使用webkit前缀

    也就是说,实际运用中,代码必须写成下面的样子:

    div:hover {
      -webkit-animation: 1s rainbow;
      animation: 1s rainbow;  
    }
    
    @-webkit-keyframes rainbow {
      0% { background: #c00; }
      50% { background: orange; }
      100% { background: yellowgreen; }
    }
    
    @keyframes rainbow {
      0% { background: #c00; }
      50% { background: orange; }
      100% { background: yellowgreen; }
    }
    

    参考资料:

    http://www.zhangxinxu.com/wordpress/2010/11/css3-transitions-transforms-animation-introduction/

    http://www.w3cplus.com/content/css3-transform

    http://beiyuu.com/css3-animation/

    http://www.zhangxinxu.com/wordpress/2012/06/css3-transform-matrix-%E7%9F%A9%E9%98%B5/

    http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:CSS3 - animation - 说中
    上一篇:CSS3-Transform - 说中 下一篇:第 28 章 CSS3 多列布局 - 水之原
    Web大前端开发直播班

    相关文章推荐

    • 带你了解HTML5 SVG,看看怎么绘制自适应的菱形• html5中块状元素怎么转换为其他元素• javascript的DOM模型• Codeforces Round #265 (Div. 2) A. inc ARG_html/css_WEB-ITnose• bootstrap问题 高手在哪里?_html/css_WEB-ITnose
    新人一分购

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网