当前位置: 首页 > news >正文

【开源宝藏】30天学会CSS - DAY12 第十二课 从左向右填充的文字标题动画

用伪元素搞定文字填充动效:一行 JS 不写,效果炸裂

你是否曾经在设计页面标题时,觉得纯文字太寡淡?或者想做一个有动感的文字特效,但又不想引入 JS 甚至 SVG?

在这篇文章中,我们将通过 一段不到 20 行的 CSS,教你如何利用 ::beforehover,打造一个可以“从左向右填充的文字标题动画”。
它不仅无依赖、无 JS,还能在所有现代浏览器流畅运行,而且使用的技巧非常适合在你以后的项目中灵活复用。
在这里插入图片描述


🎯 最终效果预览

当你将鼠标悬停在下方文字上时,它会从半透明变为实心颜色,并从左向右填充:

#30diasdeCSS

👨‍🏫 一步步实现过程

✅ 第一步:写出基础 HTML 结构

我们先写一个最简单的 HTML 页面:

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="style.css" />
    <title>Efeito preenchimento</title>
  </head>
  <body>
    <h1>#30diasdeCSS</h1>
  </body>
</html>

✅ 第二步:让文字居中显示在页面中央

body {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  font-family: sans-serif;
}

这段 CSS 使用了 flex 布局将页面内容垂直水平居中。

✅ 第三步:美化文字标题

h1 {
  margin: 0;
  padding: 0;
  font-family: verdana;
  font-size: 120px;
  color: rgba(255, 99, 71, 0.336); /* 半透明橘色 */
  text-transform: uppercase;
  position: relative;
}

position: relative 是为了后续添加伪元素叠在文字上。

✅ 第四步:添加 ::before 伪元素实现填充动画的底层结构

h1::before {
  content: "#30diasdeCSS";
  position: absolute;
  top: 0;
  left: 0;
  color: tomato; /* 实心颜色 */
  width: 0%;
  overflow: hidden;
  transition: all 0.6s;
}
  • content 保持文字一致;
  • width: 0% + overflow: hidden 让文字初始被隐藏;
  • transition 控制动画。

✅ 第五步:hover 时展开填充动画

h1:hover::before {
  width: 100%;
}

当鼠标悬停时,伪元素从 width: 0% 变成 100%,完成从左到右的填充效果。


🧠 技术原理解读

  • 伪元素 ::before:用来叠加同样的文字;
  • 定位 + overflow: hidden:模拟从左到右的“滑入”遮罩;
  • transition 平滑动画:只需添加一次。

💡 延伸练习建议

  • 改变颜色、字体、字号,自定义样式;
  • 改为 ::after 实现反向动画;
  • 给文字添加渐变色背景(background-clip: text)增强视觉感;
  • 鼠标悬停之外,还可以结合滚动触发效果。

✅ 总结

这个文字填充动效虽然简单,但蕴含多个 CSS 技巧,非常适合初中高级前端练手。

你可以快速把它集成到任何页面标题、副标题、按钮或品牌 Logo 上,让页面更有“高级感”。

下次我们会继续拆解更多 CSS 动效。欢迎点赞、收藏、转发支持!


☕ 支持作者

如果你觉得这篇文章对你有帮助,不妨请我喝杯咖啡吧!

http://www.dtcms.com/a/115105.html

相关文章:

  • spring-cloud-alibaba-nacos-discovery使用说明
  • 超大规模数据场景(思路)——面试高频算法题目
  • 进程和线程的区别和联系
  • 【Java面试系列】Spring Boot应用中的事务传播机制与分布式事务实践详解 - 3-5年Java开发必备知识
  • 【软件】在 macOS 上安装和配置 Apache HTTP 服务器
  • React-narice安卓打包流程
  • ifconfig 使用详解
  • animals_classification动物分类
  • 子类是否能继承
  • 解决windows下删除文件提示该项目不存在
  • 设计模式简述(七)原型模式
  • Qt音频采集:QAudioInput详解与示例
  • Android打包及上架应用市场问题处理
  • vue-axios跨域问题
  • 利用CNN卷积神经网络进行声呐图像分类
  • STM32常用外设寄存器介绍
  • golang并发原语groutine channel select sync包
  • vue2打包部署到nginx,解决路由history模式下页面空白问题
  • C++ —— 文件操作(流式操作)
  • Linux服务宕机,java服务导致的内存溢出
  • 公有云子账号认证的原理和步骤
  • 第十六章:向微服务迈进_《凤凰架构:构建可靠的大型分布式系统》
  • linux提权 corn 提权
  • 集成电流电压和功率采样输出的芯片
  • 字符串、列表、元组、字典
  • 学透Spring Boot — 017. 魔术师—Http消息转换器
  • C++中高精度运算问题
  • QT工程建立
  • JavaWeb餐厅点餐系统
  • c++中虚函数(virtual),重写(override),多态(重点介绍动态多态)