如何在动画中调用“循环”?

时间:2012-07-04 14:49:24

标签: css animation css3

我有这个动画:

#button-1
{
   -webkit-animation: leaf-rotation-1 1s linear 1 alternate 1.5s;
}

#button-2
{
   -webkit-animation: leaf-rotation-2 1s linear 1 alternate 4s;
}

#button-3
{
   -webkit-animation: leaf-rotation-3 1s linear 1 alternate 5.5s;
}

你怎么看,他们在1.5,4和5.5s执行。那么,当最后一次(在5.5)结束时,我该如何重新启动第一个?

1 个答案:

答案 0 :(得分:2)

我想到的解决方案将要求你编写3个不同的动画,这些动画很有时间,并在循环中无休止地运行。

<强> Here's a live example of the concept

所以第一个动画以33%结束,第二个以33结束,结束于66,结束时以66-100结束。这无限地运行。

CSS:

@-webkit-keyframes width-1 {
    0% {
        width: 100px;
    }
    17% {
        width: 500px;
    }
    33% {
        width: 100px;
    }
}
@-webkit-keyframes width-2 {
    33% {
        width: 100px;
    }
    50% {
        width: 500px;
    }
    66% {
        width: 100px;
    }
}
@-webkit-keyframes width-3 {
    66% {
        width: 100px;
    }
    83% {
        width: 500px;
    }
    100% {
        width: 100px;
    }
}
div {
    background: red;
    width: 100px;
}

#div1 {
    -webkit-animation: width-1 1s infinite linear;
}

#div2 {
    -webkit-animation: width-2 1s infinite linear;
}

#div3 {
    -webkit-animation: width-3 1s infinite linear;
}

HTML

<div id="div1">Div1</div>
<div id="div2">Div2</div>
<div id="div3">Div3</div>