具有多个属性的CSS关键帧动画

时间:2018-09-28 23:06:21

标签: css css-animations cakeyframeanimation

我有一个容器div,其中有一个对象。我可以为它的一个属性设置动画,例如底部或向左移动,但不能同时为两个动画。 如何同时为两个属性设置动画,使其对角移动?我不明白为什么以下代码不起作用:

#container {
    position: relative;
}

@keyframes move { 
    0%     { left:   0px; bottom:   0px; }
    100%   { left: 122px; bottom: 157px; }
}

#object {
    position: absolute;
    width: 10px; 
    left:   0px;
    bottom: 0px;
    /*animation: name duration timing-function delay iteration-count direction fill-mode play-state; */    
    animation: move 2.5s linear 0s infinite;
}

2 个答案:

答案 0 :(得分:1)

确实沿对角线移动:

#container {
    position: relative;
    height: 180px;
}

@keyframes move { 
    0%     { left:   0px; bottom:   0px; }
    100%   { left: 122px; bottom: 157px; }
}

#object {
    position: absolute;
    width: 10px; 
    left:   0px;
    bottom: 0px;
    animation: move 2.5s linear 0s infinite;
}
<div id="container"><div id="object">MOVING</div></div>

答案 1 :(得分:1)

您可以考虑平移具有相同的动作并具有更好的性能:

#container {
    position: relative;
    height: 180px;
}

@keyframes move { 
    0%     { transform:translate(0,0) }
    100%   { transform:translate(125px,-125px) }
}

#object {
    position: absolute;
    width: 10px; 
    left:   0px;
    bottom: 0px;
    animation: move 2.5s linear 0s infinite;
}
<div id="container"><div id="object">MOVING</div></div>