2013-06-25 132 views
1

我有一個樹的29幀動畫增長,我希望它停止在最後一幀(當它完全長大。)我一直在尋找一個解決方案讓它在最後一幀停止,但似乎沒有任何影響。我可以讓它循環,或者只是重置到第一幀。css關鍵幀動畫不會停在最後一幀

有人可以向我解釋爲什麼這個動畫只是重置回第一幀?非常感謝!

下面是代碼我在此刻:

.tree-right { 
-webkit-animation: treeright 2.0s steps(29); 
-moz-animation: treeright 2.0s steps(29); 
-ms-animation: treeright 2.0s steps(29); 
-o-animation: treeright 2.0s steps(29); 
animation: treeright 2.0s steps(29); 
-webkit-animation-fill-mode:forwards; 
-moz-animation-fill-mode:forwards; 
animation-fill-mode:forwards; 
} 


@-webkit-keyframes treeright { 
from { background-position: 0px; } 
to { background-position: -5310px; } 

} 

@-moz-keyframes treeright { 
from { background-position: 0px; } 
to { background-position: -5310px; } 
} 

@-ms-keyframes treeright { 
from { background-position: 0px; } 
to { background-position: -5310px; } 
} 

@-o-keyframes treeright { 
from { background-position: 0px; } 
to { background-position: -5310px; } 
} 

@keyframes treeright { 
from { background-position: 0px; } 
to { background-position: -5310px; } 

} 
+0

您是否有我們可以查看的現場示例?如codepen或jsfiddle?如果我們看不到行爲,很難提供幫助。 – BJack

+0

只是猜測,但嘗試移動'動畫填充模式:轉發;'到'動畫:treeright 2.0s步驟(29)轉發;'並看看是否有幫助。 –

回答

0

沒有更多的信息它很難衡量其根源問題是什麼,但是你有沒有嘗試設置迭代限制爲1?

-webkit-animation-iteration-count: 1; 
     -moz-animation-iteration-count: 1; 
     -o-animation-iteration-count: 1; 
      animation-iteration-count: 1; 
+0

是的,我已經嘗試過了,它根本沒有影響 –

0

我會說它工作正常。

我準備的部份小提琴,

[http://jsfiddle.net/vals/REkbW/]

複製你的代碼,並從背景位置改變只是動畫背景顏色檢查它很容易(因爲我沒有你的背景圖像);它的作品確定爲我

+0

這似乎適用於背景色,但不適用於背景色。測試FF30,Chrome 35和Opera 12.16。試圖爲一個項目做這項工作。 – hawk

+0

@hawk你能顯示你的代碼嗎? – vals

+0

是的,請參閱我的Bugzilla故障單的測試用例:https://bugzilla.mozilla.org/show_bug.cgi?id = 1025696 – hawk

0

我已經注意到這個有時只適用於它們的位置項目:絕對

希望這對你的作品!

0

使用steps(28)如果您有29個幀並且背景位置偏移使用28*(height of your frames)I just figured this out.另外,background-position屬性需要兩個值。我相信,你總是必須指定X和Y偏移量。

JSFiddle example