CSS 关键帧动画

关键帧动画是在时间轴上定义关键帧并指定其属性值的动画技术。
百分比用于表示动画的时间进度,从而确定在特定时间节点上动画元素应该具有的属性值。

关键帧动画应用

以下是一个简单的CSS关键帧动画示例:

css
Copy code
@keyframes myAnimation {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0);
  }
}

.myElement {
  animation: myAnimation 3s infinite;
}

在这个例子中,@keyframes 定义了一个名为 myAnimation 的关键帧动画,其中0%、50%和100%分别表示动画的不同阶段。在CSS选择器 .myElement 中,animation 属性将动画应用于具有类名 myElement 的元素,使其以3秒为周期无限循环播放。

动画属性

animation 属性是一个用于同时设置多个动画属性的 CSS 属性。它提供了一种简便的方式来定义动画,包括动画名称、持续时间、时间函数、延迟和重复次数等。

语法如下:

element {
  animation: name duration timing-function delay iteration-count direction fill-mode play-state;
}

具体解释:

  • name: 规定要应用的 @keyframes 动画的名称,或者是由关键帧组成的动画。
  • duration: 规定完成动画所花费的时间,以秒(s)或毫秒(ms)为单位。
  • timing-function: 规定动画的时间曲线,可以使用关键词(如 ease、linear 等)或者贝塞尔曲线函数。
  • delay: 规定在动画开始之前的延迟时间,以秒(s)或毫秒(ms)为单位。
  • iteration-count: 规定动画应该播放的次数,可以是具体的次数(整数)或者 infinite 表示无限循环。
  • direction: 规定是否应该轮流反向播放动画。可选值有 normal(默认值,正向播放),reverse(反向播放),alternate(正向、反向交替),alternate-reverse(反向、正向交替)。
  • fill-mode: 规定在动画之前和之后如何应用样式。可选值有 none、forwards、backwards 和 both。
  • play-state: 规定动画是运行还是暂停。可选值有 running(默认值,运行中)和 paused(暂停)。
    以下是一个示例:
.myElement {
  animation: myAnimation 2s ease-in-out 1s infinite alternate;
}

在这个例子中,.myElement 元素将应用名为 myAnimation 的动画,动画持续时间为2秒,时间函数为缓入缓出,延迟1秒开始,无限循环并在每次交替时反向播放。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容