📅  最后修改于: 2023-12-03 14:40:20.331000             🧑  作者: Mango
CSS 动画是一种实现前端动态效果的技术,其中 @keyframes 属性则是定义动画的核心。通过 @keyframes 属性和关键帧可以定义一个动画的多个状态,并控制这些状态之间的过渡效果。
@keyframes 属性可以被用来定义一个动画序列,这些序列定义了动画的各个状态,从开始到结束。在使用 @keyframes 属性时有以下几个注意点:
例如,下列代码定义了一个简单的从左到右滑动的动画:
@keyframes slide {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(0);
}
}
.slide {
animation: slide 1s ease-out;
}
例如,下列代码定义了一个简单的由小到大的动画:
@keyframes scale-up {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
.scale-up {
animation: scale-up 1s infinite;
}
例如,下列代码定义了一个可以暂停的动画:
@keyframes rotate {
0% {
transform: rotate(0);
}
100% {
transform: rotate(360deg)
}
}
.rotate {
animation: rotate 2s linear infinite;
animation-play-state: paused;
}
.rotate:hover {
animation-play-state: running;
}
CSS 动画和 @keyframes 属性使得开发者可以在不使用 JavaScript 的情况下实现很多动态效果。在使用时需要注意定义每个状态以及状态之间的过渡效果,可以通过 animation-play-state 属性控制动画的状态。