1.语法
@keyframes animationname(动画名称) {
0%{要实现的css样式}
10%{要实现的css样式}
...
100%{要实现的css样式}
}
2.使用方法
将动画效果加入到需要的模块中,使用animation
属性,例如:
.test{
animation: animationname 10s linear infinite alternate;
}
这样class="test"
这个模块就实现了这个动画。
3.animation属性说明
语法
animation: name duration timing-function delay iteration-count direction;
属性说明
- [ name] @keyframes 动画的名称,eg:animationname.
- [ duration] 规定动画完成一个周期所花费的秒或毫秒,默认是 0,意味着不会播放动画.
- [ timing-function] 规定动画的速度曲线。默认是 “ease”.
可以使用的值有:
linear:
匀速ease:
低速开始,加快,再变慢ease-in:
动画以低速开始ease-out:
动画以低速结束ease-in-out:
动画以低速开始和结束cubic-bezier(n,n,n,n):
在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值
- [ fill-mode] 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式.
可以使用的值为:
none:
默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。forwards:
在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值。backwards:
动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是 from 关键帧中的值(当 animation-direction 为 “normal” 或 “alternate” 时)或 to 关键帧中的值(当 animation-direction 为 “reverse” 或 “alternate-reverse” 时both:
动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性。initial:
设置该属性为它的默认值。inherit:
从父元素继承该属性。
- [ delay] 规定动画何时开始。默认是 0.
- [ iteration-count]规定动画被播放的次数。默认是 1.
可以使用的值为:
n:
指定一个数字infinite:
指定动画应该播放无限次(永远)
- [ direction] 规定动画是否在下一周期逆向地播放。默认是 “normal”.
可以使用的值:
normal:
默认值。动画按正常播放。reverse:
动画反向播放。alternate:
动画在奇数次(周期)(1、3、5…)正向播放,在偶数次(2、4、6…)反向播放。alternate-reverse:
动画在奇数次(周期)(1、3、5…)反向播放,在偶数次(2、4、6…)正向播放。initial:
设置该属性为它的默认值inherit:
从父元素继承该属性
4.动画是否运行
animation-play-state:
规定动画是否正在运行或暂停。默认是 “running”,"paused "为暂停。