CSS3 animation(动画) 属性


CSS3 Animation 属性

CSS3 Animation 属性用于为元素添加动画效果,包括移动、大小、旋转、透明度和颜色等。通过这些动画效果,可以使网站页面的交互更加生动、直观和丰富。下面介绍几个常用的 CSS3 动画属性。

@keyframes 规则

在 CSS3 中,可以使用 @keyframes 规则来定义动画。语法如下:

@keyframes animation-name {
  0% {CSS 属性值}
  50% {CSS 属性值}
  100% {CSS 属性值}
}

其中,animation-name 表示动画名称,CSS 属性值表示在动画进行到某一阶段时,元素的 CSS 属性应该具有的值。例如:

@keyframes myanimation {
  0% {background-color: red;}
  50% {background-color: yellow;}
  100% {background-color: blue;}
}

这样就定义了一个名为 myanimation 的动画,当元素经过 0%、50%、100% 的动画阶段时,元素的背景颜色分别为红、黄、蓝。

animation-name 属性

animation-name 属性用于指定要使用的 @keyframes 规则的名称。例如:

animation-name: myanimation;

表示该元素要应用名为 myanimation 的动画效果。

animation-duration 属性

animation-duration 属性用于设置动画持续时间,以秒或毫秒为单位。例如:

animation-duration: 5s;

表示该元素的 myanimation 动画持续 5 秒钟。

animation-timing-function 属性

animation-timing-function 属性用于指定动画的时间函数,即动画效果随时间推移的速度变化。常用的时间函数有 ease、linear、ease-in、ease-out、ease-in-out 和 cubic-bezier 等。例如:

animation-timing-function: ease-in-out;

表示该元素的动画效果将先缓慢,然后加速,最后再放慢。

animation-delay 属性

animation-delay 属性用于指定动画效果的延迟时间。例如:

animation-delay: 2s;

表示该元素的 myanimation 动画会延迟 2 秒才开始播放。

animation-direction 属性

animation-direction 属性用于指定动画的播放方向,分别为 normal(正常播放)、reverse(反向播放)、alternate(交替播放),其中 alternate 会先正常播放,然后再反向播放。例如:

animation-direction: alternate;

表示该元素的动画播放会先正常播放,然后再反向播放。

animation-play-state 属性

animation-play-state 属性用于设置动画的播放状态,分别为 paused(暂停)和 running(运行)。例如:

animation-play-state: paused;

表示该元素的动画效果已暂停。

animation-fill-mode 属性

animation-fill-mode 属性用于使动画执行完成后停留在某个状态。可选值有 none(动画结束后回到初始状态)、forwards(动画结束后停留在最后状态)、backwards(动画开始前先停留在初始状态)、both(动画起始状态和结束状态都保留)。例如:

animation-fill-mode: forwards;

表示该元素的动画结束后停留在最后状态。

总结

CSS3 Animation 属性可以为网页设计添加丰富的交互效果,使用户更加直观地感受网站的功能。以上是一些常见的 CSS3 动画属性介绍,这些属性可以组合使用,以实现更丰富的动画效果。