S 中,可以使用 animation 和 keyframes 属性来创建动画效果。其中,keyframes 用于定义动画的关键帧,而 animation 则用于将定义好的关键帧应用到指定的元素上。下面是一个示例:
@keyframes example {
from {background-color: red;}
to {background-color: yellow;}
}
/* 将动画应用到元素上 */
div {
animation: example 5s linear infinite;
}
在上面的代码中,@keyframes 定义了一个名为 example 的动画,它从红色渐变到黄色。然后,通过 animation 属性将这个动画应用到 div 元素上,并设置动画持续时间为 5s、缓动函数为 linear,并且让动画无限循环。
除了 from 和 to,也可以使用百分比来指定关键帧的位置,如下所示:
@keyframes example {
0% {transform: scale(1);}
50% {transform: scale(1.5);}
100% {transform: scale(1);}
}
在上面的代码中,使用了百分比来指定了三个关键帧,分别在动画开始、中间和结束时改变元素的缩放比例。
在 animation 属性中,还可以使用多个参数来设置动画的各种属性,例如:
animation: name duration timing-function delay iteration-count direction fill-mode play-state;
其中,各个参数的含义如下:
name:动画的名称(即 @keyframes 定义的名称)。duration:动画持续时间,例如 3s 或 500ms。timing-function:动画缓动函数,常用的有 linear、ease-in、ease-out 和 ease-in-out 等。delay:动画延迟时间,例如 1s。iteration-count:动画播放次数,可以是一个数字,也可以是 infinite 表示无限次。direction:动画播放方向,可以是 normal(正常顺序播放)或 reverse(反向播放)。fill-mode:动画执行前后元素状态,可以是 none(不改变元素样式)、forwards(保留动画结束后的样式)或 backwards(采用动画开始时的样式)。play-state:动画播放状态,可以是 running 或 paused。除了上述属性外,还有一些其他的属性也可以影响动画效果,如 transform、opacity 和 filter 等。使用这些 CSS 属性的值可以更改元素的位置、大小、透明度和颜色等属性,以实现更复杂的动画效果。