上一篇
HTML如何快速实现文字闪烁?
- 前端开发
- 2025-06-16
- 4428
使用CSS动画实现文字闪烁效果,通过
@keyframes定义透明度变化(如0%到100%间切换),再为元素添加
animation: blink 1s infinite;即可循环闪烁,避免使用已废弃的“标签。
在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:完全透明
- 通过调整
进阶效果定制
调整闪烁速度
.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; }
替代方案: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
可实时交互
增加页面负载
️ 最佳实践建议
- 优先使用CSS动画,性能更优
- 避免大面积闪烁,遵守无障碍标准
- 禁用闪烁(如导航、按钮)
引用说明 参考以下权威资源:
- MDN Web Docs: CSS Animations
- W3C: WCAG 2.3.1 Seizures and Physical Reactions
- HTML Living Standard: Obsolete Elements
