我有一个简单的css动画,我想玩,然后停止在最后一帧完全显示图像.但是目前在这一刻它的戏剧性似乎恢复了一帧,所以santas的脸消失了.
如何让它播放一次,然后停止在最后一个关键帧或显示图像,而不会再次衰落?
<img class="santaface" src="http://imgs.tuts.dragoart.com/how-to-draw-a-santa-face_1_000000001282_3.jpg"> .santaface{ opacity:0; position: absolute; left:40%; top:20%; width:20%; -webkit-animation-name: santaappear; -webkit-animation-duration: 13s; } .santaface{-webkit-animation-delay:2s;animation-delay:2s;} @-webkit-keyframes santaappear { 0% { opacity:0;} 96% {opacity:1;} }
解决方法
您需要动画填充模式:转发才能防止这种情况发生.
另外,您需要以1的不透明度结束,因此最后一帧必须具有1的不透明度.
jsFiddle example – 它的工作原理如预期.
您还可以通过删除0%来缩短关键帧,因为这已经在初始状态中给出.
@keyframes santaappear { 96% { opacity:1; } 100% { opacity:1; } }
您也可以组合96%和100%.
@keyframes santaappear { 96%,100% { opacity:1; } }
由于您正在使用多个动画属性,请使用animation shorthand:
<single-animation-name> || <time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode>`
哪个是:
animation: santaappear 13s 2s forwards; -moz-animation: santaappear 13s 2s forwards; -webkit-animation: santaappear 13s 2s forwards;
在演示中,我为-moz / -webkit添加了供应商前缀.除了这些,你应该有一个没有前缀的书面.关键帧也是如此.