Skip to content
css定义多个延时动画案例代码

当前案例效果为:正方体从底部向上弹出并且从不透明到透明,整个过程持续两秒,动画接收后等待一秒开始无限旋转,旋转一周的时间为2秒

html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Slide Up and Rotate Animation</title>
<style>
  /* 定义从底部到目标位置的平移动画 */
  @keyframes slideFromBottom {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  /* 定义无限旋转动画 */
  @keyframes spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  /* 应用动画到元素 */
  .animated-element {
    width: 100px;
    height: 100px;
    background-color: tomato; /* 设置背景颜色以便更容易看到动画效果 */
    position: fixed; /* 使用fixed定位以保持在视口中 */
    bottom: 100px; /* 从底部一定距离开始 */
    left: 50%; /* 水平居中 */
    transform: translateX(-50%); /* 向左移动自身宽度的50%以对齐中心 */
    animation:
      slideFromBottom 2s ease-out forwards, /* 先进行从底部到目标位置的平移动画 */
      spin 2s linear 3s infinite; /* 然后无限旋转 */
  }
</style>
</head>
<body>

<div class="animated-element"></div>

</body>
</html>