CSS的animation属性用于定义元素的动画效果。它包含多个子属性,下面是对每个子属性的介绍:
-
animation-name:指定要应用的关键帧动画的名称,可以是预定义的关键帧名称,也可以是自定义的关键帧名称。 -
animation-duration:指定动画的持续时间,以秒(s)或毫秒(ms)为单位。 -
animation-timing-function:指定动画的时间函数,控制动画在持续时间内的速度变化。常见的值包括:ease:默认值,动画以缓入缓出的方式进行。linear:动画以匀速进行。ease-in:动画以缓入的方式开始。ease-out:动画以缓出的方式结束。ease-in-out:动画以缓入缓出的方式开始和结束。
-
animation-delay:指定动画开始之前的延迟时间,以秒(s)或毫秒(ms)为单位。 -
animation-iteration-count:指定动画的重复次数。常见的值包括:infinite:无限循环动画。- 数字值:指定动画的具体重复次数。
-
animation-direction:指定动画的播放方向。常见的值包括:normal:默认值,动画正常播放。reverse:动画反向播放。alternate:动画在正向和反向之间交替播放。alternate-reverse:动画在反向和正向之间交替播放。
-
animation-fill-mode:指定动画在播放之前和之后的样式状态。常见的值包括:none:默认值,动画不会影响元素的样式。forwards:动画完成后,元素将保持动画结束时的样式。backwards:动画开始前,元素将应用动画开始时的样式。both:动画同时应用forwards和backwards的效果。
-
animation-play-state:指定动画的播放状态。常见的值包括:running:默认值,动画正在播放。paused:动画暂停播放。
这些属性可以通过简写形式的animation属性一起设置,或者单独使用各个子属性进行设置。例如:
.element {
animation: my-animation 2s ease-in-out infinite;
}
或者:
.element {
animation-name: my-animation;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
}
请注意,animation属性还可以使用关键帧动画的百分比值来定义动画序列,使用@keyframes规则来定义关键帧动画的具体样式。