如何在 CSS 动画中使用负延迟实现突变?

如何在 css 动画中使用负延迟实现突变?

借助负延迟在 css 动画中实现突变

css 动画中,如果您希望一个元素在短暂延迟后突然出现或移动,可以利用负的 animation-delay 属性。

常规使用

对于典型的动画效果,可以通过 animation-delay 属性设置动画开始的时间延迟,单位为秒或毫秒。例如:

.block {
  animation-delay: 1s;
}

突变效果

为了实现突变效果,需要将 animation-delay 设置为负值。此时,元素会提前开始动画,而不是在指定的延迟时间后开始。

示例

假设您希望两个箭头从左到右移动。您可以使用 move1 keyframe 定义第一个箭头的移动:

@keyframes move1 {
  0% { left: 0; }
  100% { left: 100px; }
}

对于第二个箭头,您需要使用负延迟:

<div class="block start3"></div>
.block {
  animation: 10s linear;
}
.start3 {
  animation-delay: -3s;
}

这将导致第二个箭头在 3 秒前就开始移动,跳过动画的开始部分并直接出现在预期的位置。

复杂动画

对于更复杂的动画,例如元素先移动到特定位置然后再返回,则需要使用单独的动画。不能在一个动画中实现这种效果。

您可以通过设置元素透明或将它移动到容器外部再回到初始位置来实现回归效果。

以上就是如何在 CSS 动画中使用负延迟实现突变?的详细内容,更多请关注其它相关文章!