css3 – 不能停止css动画在最后一个关键帧后消失

我有一个简单的css动画,我想玩,然后停止在最后一帧完全显示图像.但是目前在这一刻它的戏剧性似乎恢复了一帧,所以santas的脸消失了.

如何让它播放一次,然后停止在最后一个关键帧或显示图像,而不会再次衰落?

http://jsfiddle.net/uy25Y/

<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添加了供应商前缀.除了这些,你应该有一个没有前缀的书面.关键帧也是如此.

相关文章

前言 最近项目做完,用户需要兼容IE,于是开展了兼容性的调整工作。边调整边想感叹IE真是个沙雕。。特将...
前言 有些属性不是很常用,但是工作中遇到了,记录一下,方便学习。 1、text-indent text-indent 属性规...
前言 政府网站会遇到公祭日的时候,网站整体颜色变灰的情况。今天正好调了一下。在此把解决方案分享给大...
需求 项目里有个消息中心,当有消息的时候,小铃铛图标可以晃两下,提示当前有信息。 实现过程 书写css...
html代码 css代码 效果图
在一些界面上 , 如果每个icon都去找图片还是相当麻烦的 , 直接使用css画出icon就方便的多了 , 下面两个...