我有一个盒子,我想让它闪烁。
- 它应该不停地闪烁
- 它从白色闪烁并返回到原始颜色
- 每个循环之间必须有一个“暂停”(颜色保持不变)
- 解决方案只有css,没有js
代码片段中的代码满足所有条件。 30% 和 70% 关键帧用于每个周期之间的暂停,保持完全绿色。它们之间闪烁着白色。
但此示例使用硬编码颜色。是否可以简单地为对象(此处为主体)设置颜色?然后盒子会闪烁白色并返回到原来的颜色,无论盒子当时是什么颜色。
不幸的是,在关键帧中使用“继承”或“初始”会将其恢复为白色。
body {
animation: blink 3s infinite ease-in-out;
background-color: green;
}
@keyframes blink {
30% {background-color: green;}
50% {background-color: white;}
70% {background-color: green;}
}
@Maze 问题的免费翻译使动画返回初始值(背景颜色)。
我想,在这种情况下,变量就是“从大炮到麻雀”。该功能
linear()
仅适用于最新版本的浏览器。revert-layer
您可以使用返回到之前设置的值,而不是创新和复杂化:颜色已更改以避免与默认白色混淆。
您可以
селекторе
不直接在属性中选择颜色,而是在CSS переменные
将相同的颜色应用于属性本身(变量)可以在
ключевых кадрах
.使用新的计时函数更简单的代码
linear()
成员 @Temani Afif的答案的免费翻译 。
我不知道过渡颜色与预期的匹配程度如何,但我认为这是一个有趣的方法: