考慮這個樣品。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