CSS3 animation属性介绍

CSS3 animation动画:CSS3除了transition属性,还可以使用animation功能实现复杂的动画效果。要创建animation动画,先要了解@keyframes规则。

CSS3 @keyframes关键帧:使用@keyframes创建动画。在动画过程中,可以多次改变CSS的样式,指定变化时用%,或者用关键字"form"和"to",表示0%到100%。

animation语法:

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

  • animation-name:规定@keyframes动画的名称;

  • animation-duration:规定完成过渡效果需要多少秒或毫秒;

  • animation-timing-function:规定速度效果的速度曲线;

  • animation-delay:定义过渡效果何何时开始;

  • animation-iteration-count:规定动画被播放的次数;

  • animation-direction:规定动画是否在一下周期逆向播放;

  • animation-play-state:规定动画是否正在运行或暂停;

  • initial:设置属性为其默认值;(IE不支持)

  • inherit:从父元素继承属性;(IE不支持)

浏览器兼容性:

  • Chrome和Safari拓展前缀:-webkit-CSS3属性:值

  • IE9 以及更早版本不支持transition属性

animation-name:指定了一个名称@keyframes animation

  • keyframename:指定要绑定到选择器的关键帧的名称

  • none:指定没有动画,该属性可以用于覆盖任何动画

nanimation-duration:定义动画完成一个周期需要多少秒或毫秒

  • time:指定动画播放完成花费的时间。默认值为0,以为这没有动画效果

animation-timing-function:定义过度动画的效果

  • linear:以相同速度开始至结束的过渡效果

  • ease:慢速开始,然后变快,然后慢速结束的过渡效果

  • ease-in:慢速开始的过度效果

  • ease-out:慢速结束的过渡效果

  • ease-in-out:慢速开始和结束的过渡效果

  • cubic-bezier:在cubic-bezier函数中定义自己的值。可能的值是0-1之间

  • step-start:马上跳转到动画结束状态

  • step-end:保持动画开始状态,直到动画执行时间结束,马上跳转到动画结束

animation-delay:定义动画什么时候开始,单位可以是秒(s)或毫秒(ms)

  • time:可选,定义动画开始前等待的时间,默认值为0

animation-iteration-count:定义动画应该播放多少次

  • n:一个数字,定义应该播放多少次动画

  • infinite:指定动画应该播放无限次(永远)

animation-directions:定义是否循环交替方向播放动画

  • normal:默认值。动画按正常播放。

  • reverse:动画方向播放

  • alternate:动画在奇数次(1.3.5)正向播放,在偶数次(2.4.6)反反播放

  • alternate-reverse:动画在奇数次反向播放,在偶数次正向播放

  • initial:设置该属性为他的默认值

@keyframes语法:

@keyframes animationname {keyframes-selector {css-styles;}}

    • animationname:必需,定义animation的名称

    • keyframes-selector:必需。动画持续时间的百分比

    • css-style:必需。一个或多个合法的CSS样式属性

原文地址:https://www.cnblogs.com/zhang-xun/p/6762613.html