控制css3动画的流畅度

时间:2013-01-03 15:21:50

标签: css3

我正在尝试为一系列关键帧制作动画,以给出运动的幻觉。我想改变我的html元素上的背景位置,在一秒钟内显示一个不同的帧,然后再次播放一段距离,直到它再次播放。

以下是我的内容 - http://jsfiddle.net/kSNWV/ (我刚刚为测试目的完成了-webkit的味道)。这是我试图制作动画的图像(火车进入隧道) - http://i.imgur.com/6uOoK.png

我的HTML:

<div id="train"></div>​

我的css:

#train { width: 110px; height: 43px; border: 10px solid #454545;
background: url(http://i.imgur.com/6uOoK.png) 110px 0;
-webkit-animation: train 2s linear 0s infinite normal; }

@-webkit-keyframes train {
    0%{background-position: 110px 0;}
    2%{background-position: 0px 0;}
    4%{background-position: -110px 0;}
    6%{background-position: -220px 0;}
    8%{background-position: -330px 0;}
    10%{background-position: -440px 0;}
    12%{background-position: -550px 0;}
    14%{background-position: -660px 0;}
    16%{background-position: -770px 0;}
    18%{background-position: -880px 0;}
    20%{background-position: -990px 0;}
    22%{background-position: -1100px 0;}
    24%{background-position: -1210px 0;}
    26%{background-position: -1320px 0;}
    28%{background-position: -1430px 0;}
    30%{background-position: -1540px 0;}
    32%{background-position: -1650px 0;}
    34%{background-position: -1760px 0;}
    36%{background-position: -1870px 0;}
    38%{background-position: -1980px 0;}
    40%{background-position: -2090px 0;}
    42%{background-position: -2200px 0;}
    44%{background-position: -2310px 0;}
    46%{background-position: -2420px 0;}
    48%{background-position: -2530px 0;}
}

是否有可能拥有一个css3动画,只是“捕捉”到每个步骤而不动画之间的过渡动​​画?另外,如何在不反向播放的情况下重置此动画(此时它正在将background-position -2530px的{​​{1}}设置为最后的110px

1 个答案:

答案 0 :(得分:2)

使用step-end计时功能。请注意,这省略了最后一个关键帧。 http://jsfiddle.net/kSNWV/3/