Skip to content

CSS3 中 transition 和 animation 的属性分别有哪些?

Posted on:2024年8月10日 at 17:07

在 CSS3 中,transitionanimation 是两种用于实现动画效果的属性。它们分别用于不同的动画需求和实现方式。

Transition 属性:

transition 属性用于定义元素在状态改变时从一个样式转换到另一个样式的过渡效果。它包含以下几个属性:

示例:

/* 定义一个简单的过渡效果 */
.box {
  width: 100px;
  height: 100px;
  background-color: red;
  transition: width 1s ease-in-out;
}

.box:hover {
  width: 200px;
}

在上面的示例中,当鼠标悬停在 .box 元素上时,宽度从 100px 过渡到 200px,过渡持续时间为 1 秒,过渡速度为 ease-in-out。

Animation 属性:

animation 属性用于定义复杂的动画效果,可以自定义关键帧(keyframes)来实现更复杂的动画效果。它包含以下几个属性:

示例:

/* 定义一个简单的动画 */
@keyframes slide-in {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

.box {
  width: 100px;
  height: 100px;
  background-color: red;
  animation: slide-in 1s ease-in-out infinite alternate;
}

在上面的示例中,.box 元素会应用一个名为 slide-in 的动画,从左侧滑动进入容器,动画持续时间为 1 秒,以 ease-in-out 时间曲线播放,无限循环,并且往返运动。

原文转自:https://fe.ecool.fun/topic/a9854cb2-406f-4837-a57f-947f818e5731