PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

CSS3 - animation - 说中

原创
2016-05-20 13:49:29 1263浏览

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核实处理。