考虑这个样品。CSS左0动画与绝对定位的div来右0
http://jsfiddle.net/dfabulich/ncbzz5zu/3/
<html>
<body>
<style>
.container {
position: relative;
width: 80%;
height: 100px;
border: 1px solid black;
}
@keyframes slide {
from { background-color: red; left: 0; }
to { background-color: blue; right: 0; }
}
.animated {
position: absolute;
width: 20%;
height: 100%;
top: 0;
background-color: red;
animation-duration: 3s;
animation-name: slide;
animation-iteration-count: infinite;
}
</style>
<div class=container>
<div class=animated>
</div></div>
预计:红色矩形应该顺利动画从左至右从红色到蓝色的颜色变化。
实际功能:在Chrome/Firefox中,红色矩形慢慢改变颜色为紫色,然后从左至右瞬移没有动画,然后慢慢从紫色到蓝色的变化。在Safari中,矩形出现在右侧,从此不会移动,同时从红色变为蓝色。
这是怎么发生的?我该如何解决它? (我需要解决它在CSS ...没有JS,没有jQuery的。)
你不能“动画”从一个_property_到另一个;您为属性的_value_设置动画。在这种情况下,对于元素宽度为20%的情况,您可以简单地将动画从0增加到80%。 – CBroe