它有如下取值:
<' animation-name '>
:检索或设置对象所应用的动画名称 <' animation-duration '>
:检索或设置对象动画的持续时间 <' animation-timing-function '>
:检索或设置对象动画的过渡类型 <' animation-delay '>
:检索或设置对象动画延迟的时间 <' animation-iteration-count '>
:检索或设置对象动画的循环次数 <' animation-direction '>
:检索或设置对象动画在循环中是否反向运动 <' animation-fill-mode '>
:检索或设置对象动画时间之外的状态 <' animation-play-state '>
:检索或设置对象动画的状态。w3c正考虑是否将该属性移除,因为动画的状态可以通过其它的方式实现,比如重设样式
[1] animation-name
检索或设置对象所应用的动画名称,必须与规则@keyframes配合使用,因为动画名称由@keyframes定义
[2] animation-timing-function
linear
:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0) ease
:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0) ease-in
:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0) ease-out
:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0) ease-in-out
:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0) step-start
:等同于 steps(1, start) (数字表示每一份显示画面具体再分几份)step-end
:等同于 steps(1, end) steps(<integer>[, [ start | end ] ]?)
:接受两个参数的步进函数。第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。 cubic-bezier(<number>, <number>, <number>, <number>)
:特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内
[3] animation-iteration-count
infinite
: 无限循环 <number>
: 指定对象动画的具体循环次数
[4] animation-direction
normal
:正常方向 reverse
:反方向运行 alternate
:动画先正常运行再反方向运行,并持续交替运行 alternate-reverse
:动画先反运行再正方向运行,并持续交替运行
[5] animation-fill-mode
即动画完成时,是显示动画开始的状态还是结束时的状态。
none
:默认值。不设置对象动画之外的状态 forwards
:设置对象状态为动画结束时的状态 backwards
:设置对象状态为动画开始时的状态 both
:设置对象状态为动画结束或开始的状态
这个地方需要特别注意的是,如果steps(1,end)
这样的模式,按照下文所讲,100%处可以为空,不影响动画,但是如果animation-fill-mode设置为forwards
时,动画完毕显示的是最后一帧就会出问题。这时需要设置最后两个区间为一样的效果。
[6] animation-play-state(hover适用)
running
:运动 paused
:暂停
animation-timing-function参数中的start和end()
工作机制:具体参考https://blog.csdn.net/joyce_lcy/article/details/78711322?locationNum=6&fps=1#1-前言
参数 | 0%-50% | 50%-100% |
---|---|---|
start | 显示定义在50%时的样式 | 显示定义在100%时的样式 |
end | 显示定义在0%时的样式 | 显示定义在50%时的样式 |