这里通过改变opacity,来起到点亮的效果。opacity=1点亮,opacity=0.5熄灭;
分析:
这里是有三个项目需要依次点亮,那么我们设置总的动画时长为9秒,第二个div延迟3s,第3个div就是延迟6s;
我们需要实现的效果是,第2个div点亮时,第一个div就要熄灭,也就是第3s以及3s后第一个div保持熄灭。
已知动画总时长9s,所以需要在33%的时候就熄灭第一个div(opacity: 0.5;)。所以动画效果设置为,一开始就点亮,然后在33%的时候就熄灭。0-33%之间的过渡可以自己再微调。
以上的分析是基于有3个项目时来考虑的,大家可以根据具体的应用场景进行调整。
.animation-box .count {
opacity: 0.5;
animation: fadeIn 9s ease-out infinite;
&:nth-child(1) {
animation-delay: 0s;
}
&:nth-child(2) {
animation-delay: 3s;
}
&:nth-child(3) {
animation-delay: 6s;
}
}
@keyframes fadeIn {
// 0% {
// opacity: 0.5;
// }
// 已开始就点亮
0% {
opacity: 1;
}
25% {
opacity: 1;
}
// 熄灭 保证在第3s后熄灭
33% {
opacity: 0.5;
}
100% {
opacity: 0.5;
}
}