文字加载点点点动画(Loading Dots 4 款 CSS)

CSS 许可:自研原创

4 款文字加载点点点动画:弹跳、渐隐、波浪、省略号递增,全部纯 CSS 实现,适合按钮、表单提交、AI 回复等场景,复制即用。

效果演示(真实可交互)

演示区展示了 4 种「加载中 + 点点点」的经典形态:弹跳点最有活力、渐隐点最克制、波浪点适合 AI 生成场景、省略号适合表单提交按钮。全部为纯 CSS 动画,无需任何 JS。

正在加载

弹跳

数据获取中

渐隐

请求处理中

波浪

提交中

省略号

完整代码

① 弹跳三点(最常用):

<p class="loading-text">正在加载<span class="dots bounce"><i></i><i></i><i></i></span></p>
.dots { display: inline-flex; gap: 5px; margin-left: 6px; }
.dots i { width: 6px; height: 6px; border-radius: 50%; background: #6c8cff; display: inline-block;
  animation: bounce 1s ease-in-out infinite; }
.dots i:nth-child(2) { animation-delay: .15s; }
.dots i:nth-child(3) { animation-delay: .3s; }
@keyframes bounce {
  0%, 60%, 100% { transform: translateY(0); opacity: .5; }
  30% { transform: translateY(-8px); opacity: 1; }
}

④ 省略号递增(零 HTML,一个伪元素搞定):

<p class="loading-ellipsis">提交中</p>
.loading-ellipsis::after {
  content: '...'; display: inline-block; overflow: hidden; vertical-align: bottom;
  width: 0; animation: ellipsis 1.5s steps(4, end) infinite;
}
@keyframes ellipsis { to { width: 1.25em; } }

②③ 款(渐隐、波浪)与 ① 结构完全相同,只需把 .bounce 换成 .fade / .wave 类并带上对应 @keyframes(见演示区 .tld-* 系列)即可。

参数说明

参数位置说明
点颜色.tld-dots i 的 background改为你的主题色
点大小width/height一般 4-8px,与文字字号匹配
动画节奏animation: ... 1s数字越大越慢;延迟 animation-delay 控制先后
弹起高度translateY(-8px)调整幅度,越大越活泼
省略号宽度@keyframes 中的 1.25em对应 3 个点的宽度

兼容性与性能

常见问题

Q: 能商用吗? 可以。本组件为粤喵自研,免费商用无需署名。

Q: 点太小看不清怎么办? 增大 width/height,同时把弹跳的 translateY 幅度加大,并让三个点错开 animation-delay,节奏感会更强。

Q: 想用「•••」代替圆点怎么办? 把 <i> 圆点换成文字符号(如 •),或者直接把 .tld-dots i 的 border-radius 去掉变成小方块,风格立即切换。

Q: 省略号动画在按钮里显示不全? 按钮若设置了 overflow: hidden,伪元素的宽度动画会被裁剪。给按钮去掉 overflow: hidden,或把动画放到按钮外层包裹元素上。

许可与来源

  • 许可证:自研原创 —— 粤喵自研原创,可免费用于个人与商业项目,无需署名。查看来源公示与许可清单
  • 来源:粤喵团队原创自研(从效果思路到代码实现均为独立完成,未直接复制第三方代码)
  • 首次发布:2026-09-01 · 最近更新:2026-09-01
  • 修改日志:2026-09-01 首次发布;2026-09-13 补充许可证与来源标注、复制按钮说明与法务页入口
  • 纠错:联系页面 / min@cactus.asia,2 个工作日内核实处理

常见问题

这个组件可以商用吗?

可以。本组件为粤喵自研原创,可免费用于个人和商业项目,无需署名。

浏览器兼容性如何?

支持所有现代浏览器(Chrome / Firefox / Safari / Edge 最新版本)。旧版 IE 不支持 CSS 动画相关特性。

怎么修改动画参数?

直接调整 CSS 中的 animation-duration(时长)、animation-timing-function(缓动曲线)等属性即可,代码中有注释说明。

✍️ 作者与审核