我正在对一些元素运行动画,这些元素在CSS中设置为opacity: 0;
。动画类是通过点击应用的,并且使用关键帧,它将不透明度从0
更改为1
(以及其他一些内容)。
不幸的是,当动画结束时,元素会回到 opacity: 0
的状态(在Firefox和Chrome中都是如此)。我的自然思维是动画化的元素会维持最终状态,覆盖它们的原始属性。这个想法不正确吗?如果不是,那么我该如何让元素保持最终状态?
代码(不包括前缀版本):
@keyframes bubble {
0% { transform:scale(0.5); opacity:0.0; }
50% { transform:scale(1.2); opacity:0.5; }
100% { transform:scale(1.0); opacity:1.0; }
}
animation-fill-mode
属性的forwards
值可以确保动画结束后元素会保持在最后一个关键帧的状态。例如,如果您的动画将width
从0变为100px,则此属性可以确保动画结束后元素保持100px宽度。 - Farzad Yousefzadeh@keyframe
中指定100% / to
的位置,否则它将不起作用。 - Tomasz Mularczyk