【问题标题】:CSS3 enforcing sequential animationCSS3强制顺序动画
【发布时间】:2013-10-11 14:58:06
【问题描述】:

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

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

代码如下:

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/

【问题讨论】:

  • 不完全是,你的还在增长中。我想让盒子走到中心,然后增长,然后缩小,然后增长,然后缩小,然后回到开始。不得混用任何步骤。

标签: css animation keyframe css-animations


【解决方案1】:

如果您希望某个属性在步骤之间保持不变,您必须明确声明它必须在步骤之间保持相同。动画会单独执行属性,因此如果您仅在一个步骤中指定宽度和高度,left 和 top 将立即开始动画到适用于他们的下一站,忽略不适用的那一站

以此为例:

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% 时所做的相同,所以他们知道在这两个停靠点之间根本不会改变。

如果你想发生,我不确定这是否正是动画,但你应该能够从中得到想法,否则如果你有问题,请告诉我。

【讨论】:

  • 是的,这似乎是问题所在。我想知道这是否被认为是一个功能,或者是一个错误。因此,附加多个动画可能会很复杂。
猜你喜欢
  • 1970-01-01
  • 2011-12-03
  • 2011-09-17
  • 2013-04-20
  • 2015-11-02
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多