html中实现文字闪烁效果,推荐使用css的@keyframes定义动画,通过控制opacity属性在0和1之间切换,并结合animation属性实现持续闪烁,如设置animation: blink 1s step-start infinite可创建频率为每秒一次的明显闪烁,此方法兼容性好且简洁高效,适用于提示信息等场景,但需避免过度使用以防影响用户体验。

HTML中实现文字或元素闪烁效果,可以通过css动画来完成。虽然过去有<blink>标签能让文字闪烁,但该标签已被现代浏览器废弃,不推荐使用。以下是几种实用且兼容性良好的闪烁实现方法。
使用CSS @keyframes 创建闪烁动画
通过定义关键帧动画,控制元素的opacity(透明度)在0和1之间切换,实现自然的闪烁效果。
示例代码:
<style> @keyframes blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } } .blink-text { animation: blink 1s step-start infinite; } </style> <p><p class="blink-text">这段文字会持续闪烁</p></p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>
说明: step-start 可使闪烁更明显,避免渐变过渡;调整animation-duration(如1s)可控制闪烁频率。
使用CSS transition + javaScript 控制闪烁
适用于需要手动触发或条件控制的闪烁场景,比如提示消息出现时闪几下。
<style> .blink-once { opacity: 1; transition: opacity 0.5s; } </style> <p><div id="flashMsg">新消息到达!</div></p><p><script> const el = document.getElementById('flashMsg'); function flashElement() { for(let i = 0; i < 6; i++) { setTimeout(() => { el.style.opacity = (i % 2 === 0) ? '0' : '1'; }, i * 500); } } flashElement(); // 调用后闪烁3次 </script></p>
适用场景: 消息提醒、表单错误提示等只需短暂闪烁的情况。
纯CSS实现呼吸式闪烁(柔和版)
如果希望视觉更柔和,可用opacity渐变模拟“呼吸灯”效果。
@keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.3; } 100% { opacity: 1; } } .pulse { animation: pulse 1.5s ease-in-out infinite; }
这种效果比快速开关更舒适,适合背景高亮或状态提示。
基本上就这些方法。推荐优先使用@keyframes配合animation,简洁高效,兼容主流浏览器。注意避免过度使用闪烁,以免影响用户体验或引发敏感人群不适。