Jor*_*lam 1 css css3 css-animations
我正在制作一个css动画来切换元素的背景颜色.
此动画只有两个阶段,两个阶段之间没有平滑过渡.
这意味着,动画的前50%,背景颜色将是blue,动画的最后50%,背景颜色将是grey,之间没有过渡.
这是动画完全正常工作:
div {
width: 200px;
height: 200px;
animation: bg 4s linear infinite;
}
@keyframes bg {
0% {
background: blue;
}
50% {
background: blue;
}
50.00001% {
background: grey;
}
100% {
background: grey;
}
} Run Code Online (Sandbox Code Playgroud)
<div></div>Run Code Online (Sandbox Code Playgroud)
我想知道是否有更简单的方法可以做到这一点.我正在寻找的是仅使用from和to内部keyframes没有任何额外的步骤.
您可以使用animation-timing-function: steps(1)下面的代码段中的内容来实现它.你可以找到关于更多的细节animation-timing-function 在这里和一般的steps价值在这里的MDN.
div {
width: 200px;
height: 200px;
animation: bg 4s steps(1) infinite;
}
@keyframes bg {
0% {
background: blue;
}
50% {
background: grey;
}
}Run Code Online (Sandbox Code Playgroud)
<div></div>Run Code Online (Sandbox Code Playgroud)
注意:我已经设置了grey颜色的关键帧,50%而不是100%由于此答案中讨论的问题.