在没有 javascript 的情况下重新启动 CSS3 动画?
Restart CSS3 Animation without javascript?
是否可以"restart"一个关键帧动画停止后再次使用相同的动画延迟时间?
@keyframes scale {
50% { transform: scale(1.2); }
100% { transform: scale(1); }
}
.animated-btn {
animation: scale ease-in 1;
animation-fill-mode:forwards;
animation-duration: .6s;
animation-delay: 11.8s;
}
<a href="" class="btn btn__arrow animated-btn">
Aniamted Button
</a>
是的,您只需要使用 the animation-iteration-count property。
您可以将其值设置为 infinite.
遗憾的是,无法在每个动画之前设置延迟,但您可以在动画内部设置延迟。只是让动画暂时什么都不做,直到你达到一定的百分比。
这是更新后的代码。
@keyFrames scale {
90% {
transform: scale(1)
}
95% {
transform: scale(1.3)
}
100% {
transform: scale(1);
}
}
.animated-btn {
display: inline-block;
animation: scale ease-in 1;
animation-fill-mode: forwards;
animation-duration: 12.4s;
animation-delay: 0s;
animation-iteration-count: infinite;
/* Or the shorthand:
animation: scale 1.4s 0s infinite ease-in forwards;
*/
}
是否可以"restart"一个关键帧动画停止后再次使用相同的动画延迟时间?
@keyframes scale {
50% { transform: scale(1.2); }
100% { transform: scale(1); }
}
.animated-btn {
animation: scale ease-in 1;
animation-fill-mode:forwards;
animation-duration: .6s;
animation-delay: 11.8s;
}
<a href="" class="btn btn__arrow animated-btn">
Aniamted Button
</a>
是的,您只需要使用 the animation-iteration-count property。 您可以将其值设置为 infinite.
遗憾的是,无法在每个动画之前设置延迟,但您可以在动画内部设置延迟。只是让动画暂时什么都不做,直到你达到一定的百分比。
这是更新后的代码。
@keyFrames scale {
90% {
transform: scale(1)
}
95% {
transform: scale(1.3)
}
100% {
transform: scale(1);
}
}
.animated-btn {
display: inline-block;
animation: scale ease-in 1;
animation-fill-mode: forwards;
animation-duration: 12.4s;
animation-delay: 0s;
animation-iteration-count: infinite;
/* Or the shorthand:
animation: scale 1.4s 0s infinite ease-in forwards;
*/
}