/* 基本语法 */
@keyframes animation-name {
from {
/* 初始状态 */
}
to {
/* 结束状态 */
}
/* 或者使用百分比定义关键帧 */
0% {
/* 初始状态 */
}
50% {
/* 中间状态 */
}
100% {
/* 结束状态 */
}
}
.element {
animation: animation-name duration timing-function delay iteration-count direction fill-mode;
}
- animation-name(动画名称): 指定关键帧的名称。
- duration(持续时间): 动画的持续时间,以秒(s)或毫秒(ms)为单位。
- timing-function(缓动函数): 动画的缓动函数,控制变化的速度。
- delay(延迟): 可选,指定动画开始之前的延迟时间。
- iteration-count(循环次数): 动画的循环次数,可以使用数字或关键词(如 infinite)。
- direction(方向): 动画的播放方向,可选值有 normal(正向)、reverse(反向)、alternate(交替正反向播放)等。
- fill-mode(填充模式): 动画在非活动时间段的样式,可选值有 forwards、backwards、both、none。
示例:
/* 定义动画关键帧 */
@keyframes slide-in {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}
/* 应用动画到元素 */
.element {
animation: slide-in 1s ease-out 0s 1 normal forwards;
}
这是一个简单的例子,定义了一个从左侧滑入的动画,并将其应用到元素上。动画在1秒内以缓动函数ease-out的方式播放,并在动画结束后保持最终状态。
你也可以使用百分比来定义关键帧,以实现更精细的控制。动画提供了更大的灵活性,可以实现更复杂的交互效果。
转载请注明出处:http://www.zyzy.cn/article/detail/4065/CSS