css闪字制作
使用CSS动画制作闪字效果
通过CSS的@keyframes和animation属性可以实现文字闪烁效果。以下是一个基础示例:
<!DOCTYPE html>
<html>
<head>
<style>
.blink {
animation: blink 1s infinite;
}
@keyframes blink {
0% { opacity: 1; }
50% { opacity: 0; }
100% { opacity: 1; }
}
</style>
</head>
<body>
<p class="blink">这段文字会闪烁</p>
</body>
</html>
控制闪烁频率和样式
调整animation-duration可改变闪烁速度,添加其他CSS属性可增强效果:

.blink-enhanced {
animation: blink 0.5s infinite alternate;
color: #ff0000;
font-weight: bold;
text-shadow: 0 0 5px rgba(255,0,0,0.5);
}
使用多段动画实现复杂效果
通过定义多个关键帧实现更丰富的闪烁模式:
@keyframes multi-blink {
0% { opacity: 1; color: red; }
25% { opacity: 0.5; color: blue; }
50% { opacity: 0; color: green; }
75% { opacity: 0.5; color: yellow; }
100% { opacity: 1; color: red; }
}
.multi-blink {
animation: multi-blink 2s infinite;
}
结合hover状态触发闪烁
实现鼠标悬停时才开始闪烁的效果:

.hover-blink:hover {
animation: blink 0.3s infinite;
transition: all 0.3s ease;
}
浏览器兼容性处理
为兼容旧版浏览器需添加前缀:
.blink {
-webkit-animation: blink 1s infinite;
-moz-animation: blink 1s infinite;
-o-animation: blink 1s infinite;
animation: blink 1s infinite;
}
@-webkit-keyframes blink { /* WebKit */ }
@-moz-keyframes blink { /* Firefox */ }
@-o-keyframes blink { /* Opera */ }
性能优化建议
避免过度使用闪烁效果,特别是大面积或高频闪烁,可能引发部分用户不适。可考虑以下优化:
- 限制闪烁元素数量
- 适当降低闪烁频率
- 提供关闭闪烁效果的选项
@media (prefers-reduced-motion) {
.blink {
animation: none;
}
}






