跳到主要内容

CSS3动画如何在动作结束时保持该状态不变?

参考答案:

在CSS3动画中,你可以通过设置animation-fill-mode属性来控制动画结束后元素的样式。这个属性定义了动画在开始之前、结束后或者两者之间的元素样式。

如果你想让元素在动画结束后保持动画结束时的状态,你可以将animation-fill-mode设置为forwards。这样,动画结束后,元素将保持其关键帧动画中最后一个关键帧的样式。

下面是一个例子:

@keyframes example {
  from {background-color: red;}
  to {background-color: yellow;}
}

div {
  width: 100px;
  height: 100px;
  animation-name: example;
  animation-duration: 4s;
  animation-fill-mode: forwards;
}

在这个例子中,div元素的背景颜色会在4秒内从红色变为黄色,并且在动画结束后保持黄色。

注意,animation-fill-mode属性有以下几个可能的值:

  • none:默认值。动画结束后,元素将返回到其原始样式。
  • forwards:动画结束后,元素将保持其关键帧动画中最后一个关键帧的样式。
  • backwards:动画开始前,元素将保持其关键帧动画中第一个关键帧的样式。
  • both:动画开始前和结束后,元素都将保持其关键帧动画中相应的关键帧的样式。

你可以根据具体的需求来选择合适的值。