CSS3强制执行顺序动画

时间:2013-10-04 14:44:01

标签: css css3 animation keyframe css-animations

我正在尝试创建一个脉冲动画,但是,这些步骤是一次性运行而不是按顺序运行。

我想要的是我的盒子去中心,脉冲,然后返回到开始。发生的事情是它到达中心,但同时增长,然后在回来的路上返回脉冲。

以下是代码:

input[type="checkbox"]:checked + #test{
 -webkit-animation:pulse 5s;
}

#test{
 width:50px;
 height:50px;
 border:1px solid black;
 position:relative; 
}



@-webkit-keyframes pulse{

 33%{
     left:100px;
     top:100px;
 }

 66%{
     width:100px;
     height:100px;    
 }

 73%{
     width:50px;
     height:50px;
 }

 83%{
     width:100px;
     height:100px;
 }

 100%{
     left:0px;
     top:0px;
 }

}

http://jsfiddle.net/cMXBf/

1 个答案:

答案 0 :(得分:1)

如果您希望它执行此操作,您必须明确声明属性必须在两个步骤之间保持不变。动画单独执行属性,因此如果您只在一步指定宽度和高度,则左侧和顶部将立即开始动画适用于他们的下一站,忽略那个不

的那个

以此为例:

33%{
    left:100px;
    top:100px;
    width: 50px;
    height: 50px;
}

66%{
    left: 100px;
    top: 100px;
    width:100px;
    height:100px;    
}

73%{
    left: 100px;
    top: 100px;
    width:50px;
    height:50px;
}

83%{
    left: 100px;
    top: 100px;
    width:100px;
    height:100px;
}

100%{
    width: 50px;
    height: 50px;
    left:0px;
    top:0px;
}

因为在66%时我指定了与33%相同的左侧和顶部,他们知道在这两个站点之间根本不会改变。

如果你想要发生,我不确定这是否就是动画,但你应该能够从中得到这个想法,否则如果你遇到麻烦,请告诉我。