使用@keyframes定义动画,通过color和background-color实现文字与背景色同步闪烁,如:@keyframes blink { 0% { color: black; background-color: white; } 50% { color: red; background-color: yellow; } 100% { color: black; background-color: white; }},并应用.animation: blink 1s infinite于元素,可通过调整时长、次数或添加prefers-reduced-motion适配可访问性需求。

目前CSS标准中并没有 animation-color 和 animation-background-color 这样的属性。你想要实现文字颜色和背景色同时动画闪烁,应该使用 @keyframes 配合 color 和 background-color 来定义动画。
如何实现文字颜色和背景色同步闪烁
你可以通过 @keyframes 定义一个动画,在不同关键帧中改变文字颜色和背景色,然后应用到元素上。
@keyframes blink {
0% {
color: black;
background-color: white;
}
50% {
color: red;
background-color: yellow;
}
100% {
color: black;
background-color: white;
}
}
.blink-text {
animation: blink 1s infinite;
}
上面的代码会让文字颜色在黑色和红色之间切换,同时背景在白色和黄色之间变化,实现同步闪烁效果。
控制闪烁频率和次数
调整 animation 的时长和次数可以控制闪烁行为:
立即学习“前端免费学习笔记(深入)”;
-
animation: blink 0.5s infinite:每0.5秒闪一次,无限循环 -
animation: blink 1s 3:闪烁3次后停止 - 使用
animation-delay可设置延迟开始
避免视觉不适
快速闪烁可能对部分用户造成视觉不适,甚至引发癫痫风险(特别是每秒2~5次的闪烁)。建议:
- 闪烁频率低于3次/秒时要特别小心
- 提供“关闭动画”选项
- 使用
prefers-reduced-motion适配用户偏好
@media (prefers-reduced-motion: reduce) {
.blink-text {
animation: none;
}
}
基本上就这些。直接用 keyframes 控制 color 和 background-color,别被不存在的属性误导。关键是写好帧动画,再绑定到元素上就行。不复杂但容易忽略可访问性问题。










