HTML如何快速实现文字闪烁?
- 前端开发
- 2025-06-16
- 4
在HTML中实现文字闪烁效果,现代网页开发推荐使用CSS动画替代已废弃的<blink>标签,以下是详细实现方法和注意事项:
使用CSS动画实现闪烁(推荐)
基础实现代码
<style> .blink-text { animation: blink-animation 1s infinite; } @keyframes blink-animation { 0%, 100% { opacity: 1; } /* 显示状态 */ 50% { opacity: 0; } /* 隐藏状态 */ } </style> <p>正常文字 <span class="blink-text">这里会闪烁</span></p>
关键参数说明
-
animation 属性

- blink-animation:动画名称(需与@keyframes名称一致)
- 1s:每次循环时长(1秒)
- infinite:无限循环
-
@keyframes 关键帧
- 通过调整opacity(透明度)控制显隐:
- opacity: 1:完全显示
- opacity: 0:完全透明
- 通过调整opacity(透明度)控制显隐:
进阶效果定制
调整闪烁速度
.blink-fast { animation: blink-animation 0.5s infinite; /* 更快闪烁 */ }
添加颜色渐变
@keyframes color-blink { 0% { color: red; opacity: 1; } 50% { color: blue; opacity: 0.5; } 100% { color: green; opacity: 1; } } .colored-blink { animation: color-blink 2s infinite; }
平滑过渡效果
.blink-smooth { animation: blink-animation 1s ease-in-out infinite; /* 添加缓动函数 */ }
重要注意事项
-
弃用 <blink>
HTML4起已废弃<blink>标签,现代浏览器(Chrome、Firefox、Edge等)均不再支持。

可访问性警告
- 闪烁效果可能引发光敏性癫痫(WCAG 2.3.1 标准)。
- 解决方案:
- 限制闪烁频率(每秒不超过3次)
- 提供关闭按钮(通过JavaScript控制)
-
兼容性处理
添加浏览器前缀确保兼容旧版浏览器:
.blink-text { -webkit-animation: blink-animation 1s infinite; -moz-animation: blink-animation 1s infinite; animation: blink-animation 1s infinite; }
- 优先使用CSS动画,性能更优
- 避免大面积闪烁,遵守无障碍标准
- 禁用闪烁(如导航、按钮)
- MDN Web Docs: CSS Animations
- W3C: WCAG 2.3.1 Seizures and Physical Reactions
- HTML Living Standard: Obsolete Elements
替代方案:JavaScript控制
通过JS动态修改样式,实现更灵活的交互:
<script> function toggleBlink() { const element = document.getElementById("js-blink"); element.style.opacity = element.style.opacity === "0" ? "1" : "0"; } setInterval(toggleBlink, 500); // 每0.5秒切换一次 </script> <p id="js-blink">JavaScript控制的闪烁文字</p>
方法 优点 缺点 CSS动画 性能高、代码简洁 动态控制较复杂 JavaScript 可实时交互 增加页面负载 ️ 最佳实践建议
引用说明 参考以下权威资源: