📜  CSS 动画和 @Keyframes 属性(1)

📅  最后修改于: 2023-12-03 14:40:20.331000             🧑  作者: Mango

CSS 动画和 @Keyframes 属性

CSS 动画是一种实现前端动态效果的技术,其中 @keyframes 属性则是定义动画的核心。通过 @keyframes 属性和关键帧可以定义一个动画的多个状态,并控制这些状态之间的过渡效果。

如何使用 @keyframes 属性

@keyframes 属性可以被用来定义一个动画序列,这些序列定义了动画的各个状态,从开始到结束。在使用 @keyframes 属性时有以下几个注意点:

  1. 定义关键帧时需要设置动画的每个状态,以及每个状态之间的过渡效果。

例如,下列代码定义了一个简单的从左到右滑动的动画:

@keyframes slide {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

.slide {
  animation: slide 1s ease-out;
}
  1. 可以在定义关键帧时设置百分比或者使用 from 和 to 关键字,from 表示 0%, to 表示 100%。

例如,下列代码定义了一个简单的由小到大的动画:

@keyframes scale-up {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}

.scale-up {
  animation: scale-up 1s infinite;
}
  1. 可以使用 animation-play-state 属性控制动画的状态。

例如,下列代码定义了一个可以暂停的动画:

@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 属性控制动画的状态。