文字填充动画(渐变扫过方向可控 CSS 源码)

CSSJS 许可:自研原创

文字填充动画组件源码:background-clip 渐变从灰到白扫过文字,支持左右、上下、对角四种填充方向与自动循环,纯 CSS 实现,适合标题强调与品牌 Slogan。

效果演示(真实可交互)

下方深色舞台上有一行大字「粤喵组件站 YUEMIU」,默认呈暗灰色。把鼠标移上去,一道白色光带会沿所选方向扫过文字,把笔画「点亮」。下拉框可以切换左→右、右→左、上→下、对角四种填充方向;勾选「自动循环填充」后光带会来回扫动,不需要悬停也能持续展示。配合方向切换,可以组合出横幅滚动、屏幕点亮等多种标题动效。

粤喵组件站 YUEMIU

鼠标悬停文字可手动触发填充

完整代码

HTML 结构:一行文字配一个控制面板:

<p class="tf" id="tfText">粤喵组件站 YUEMIU</p>
<select id="tfDir">
  <option value="lr">左 → 右</option>
  <option value="tb">上 → 下</option>
  <option value="diag">对角</option>
</select>
<input type="checkbox" id="tfLoop" /> 自动循环填充

核心 CSS:background-clip: text 把渐变裁进字形,background-size: 200% 把渐变拉宽一倍,再通过 background-position 的过渡让光带移动:

.tf {
  color: transparent;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  background-image: linear-gradient(90deg, #5b6478 0%, #5b6478 42%, #ffffff 50%, #5b6478 58%, #5b6478 100%);
  background-size: 200% 100%;
  background-position: 100% 0;   /* 未填充:光带藏在左缘 */
  transition: background-position .9s cubic-bezier(.4, 0, .2, 1);
}
.tf.filled { background-position: 0 0; }  /* 填充:光带扫到右缘 */

上下、对角方向只需要改渐变角度与 background-size 的第二个值,四种方向的默认/填充位置在组件里已逐一配好。自动循环则用 CSS 变量驱动关键帧:

.tf.auto { animation: tfAuto 2.4s ease-in-out infinite alternate; }
@keyframes tfAuto {
  0%   { background-position: var(--tf-a); }
  100% { background-position: var(--tf-b); }
}

参数说明

参数默认值说明
填充方向左 → 右左右 / 上下 / 对角四种,JS 切换类名
循环周期2.4s自动循环一个来回的时长
过渡时长.9s手动悬停填充的过渡时间
渐变配色#5b6478 → #fff暗灰底 + 白色光带,可换成品牌色
光带宽度42%–58%渐变中白色段的跨度,越窄光带越细

兼容性与性能

常见问题

Q: 光带扫过时文字有残影? 把渐变两端的暗色改为与背景一致的颜色(或透明),同时避免在渐变中途使用半透明色。

Q: 想让填充速度更快? 悬停过渡改 .4s,循环周期改 1.4s 即可;注意两处是独立参数。

Q: 可以填充图片纹理吗? 可以,把 background-image 换成任意图片 URL,同样支持 background-position 位移,效果类似鎏金扫光。

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

许可与来源

  • 许可证:自研原创 —— 粤喵自研原创,可免费用于个人与商业项目,无需署名。查看来源公示与许可清单
  • 来源:粤喵团队原创自研(从效果思路到代码实现均为独立完成,未直接复制第三方代码)
  • 首次发布: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(缓动曲线)等属性即可,代码中有注释说明。

✍️ 作者与审核