欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS中animation的参数以及用法

程序员文章站 2024-02-23 08:14:10
...

animation一般是与 @keyframes一起用,来制作网页动画。
但animation有很多参数,每种参数对应的属性有不同含义。

参数类型如下:
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定义
例如:

@keyframes move{
				from{
					left:150px;
				}to{
					left:790px;
				}
			}
animation:move 15s /* infinite */ forwards;

其中move就是animation-name


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([, [ start | end ] ]?):接受两个参数的步进函数。第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。
cubic-bezier(, , , ):特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内


3.animation-iteration-count

infinite: 无限循环
: 指定对象动画的具体循环次数 (也可不加尖括号)


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:暂停

相关标签: HTML