📜  三点动画 (1)

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

三点动画介绍

概述

三点动画(Three-dot loading animation)在前端开发中被广泛应用,其主要作用是在等待异步请求完成时提供用户友好的交互反馈。本文将对三点动画进行详细介绍。

动画效果

三点动画的效果通常为三个大小相等的点以逆时针方向旋转,如下图所示:

三点动画示例

当一个点到达“12点钟方向”时,另一个点就会跟着移动,并最终形成一个闭合的圆圈。接着,这三个点就会再次顺时针方向旋转。整个过程是连续不断的,直到异步请求完成。

实现方法
HTML

首先,在 HTML 中添加三个 div 元素:

<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
CSS

接下来,在 CSS 中为这些 div 元素添加样式。首先,要将这三个元素放在同一行,并且让它们居中:

.dot {
  position: relative;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 50%;
  background-color: #000;
  animation: dotAnimation 1s infinite ease-in-out;
}

@keyframes dotAnimation {
  0% {
    top: 3px;
    opacity: 0.7;
  }
  33% {
    top: 0px;
    opacity: 1;
  }
  66% {
    top: -3px;
    opacity: 0.7;
  }
  100% {
    top: 3px;
    opacity: 0.7;
  }
}

其中,animation 属性指定了动画效果的名称、持续时间、循环次数和运动曲线。上述代码中的 dotAnimation 动画是一个周期为 1 秒、无限循环、缓进缓出的动画。接下来,我们需要调整这三个元素的位置,让它们形成一个闭合的圆:

.dot:nth-child(1) {
  animation-delay: 0s;
}

.dot:nth-child(2) {
  animation-delay: 0.2s;
}

.dot:nth-child(3) {
  animation-delay: 0.4s;
}

这里使用了 nth-child 选择器将三个元素分别命名为第 1、2、3 个子元素,并分别指定它们的动画延迟时间,从而实现了闭合圆的效果。

总结

三点动画是一种简单而优雅的交互反馈方式,可以提高用户体验。本文介绍了它的动画效果和实现方法,希望能为前端程序员提供参考。