2014-08-28 47 views
0

如果我有以下幾點:是否可以在沒有轉換的情況下創建css動畫?

@keyframes play { 
    0% {background:red;} 
    25% {background:green;} 
    45% {background:blue;} 
    55% {background:orange;} 
    75% {background:black;} 
    100% {background:white;} 
} 

是否有可能在一個「獨立」的方式這個動畫應用於元素但顏色之間的轉換?例如,通過動畫的25%,我希望元素突然從紅色變爲綠色。我嘗試使用步驟(6)參數沒有運氣。

如果沒有,是否有替代方案來做我想要的?

謝謝!

+2

可以爲24%的背景關鍵幀:紅色,然後25%背景:綠色? – GifCo 2014-08-28 15:10:45

回答

4

不需要TRICKS

這樣做的正確的方式是通過transition-timing-function屬性,定義的步驟之間的影響動畫。

值之一是step-end,即跳過的動畫步驟,以最終結果,因此:

-webkit-animation: play 5s step-end; 
animation: play 5s step-end; 

http://jsfiddle.net/oe5nfy2L/1/

+0

完美。這正是我正在尋找的。其他建議的技術也會起作用(特別是因爲它們可以是浮點百分比),但這是正確的做法。謝謝。 – ScottyB 2014-08-28 15:27:16

+0

很酷。 upvoted。 – Heejin 2014-08-28 15:54:21

1

你可以用一個簡單的技巧來做到這一點。

@keyframes play { 
    0% {background:red;} 
    24% {background:red;} 
    25% {background:green;} 
    44% {background:green;} 
    45% {background:blue;} 
    54% {background:blue;} 
    55% {background:orange;} 
    74% {background:orange;} 
    75% {background:black;} 
    99% {background:black;} 
    100% {background:white;} 
} 

因爲我使用chrome,我將關鍵幀更改爲webkit-keyframes。

http://jsfiddle.net/gfvyt9qc/2/

0
@keyframes play { 
    0% {background:red;} 
    24% {background:red;} 
    25% {background:green;} 
    45% {background:blue;} 
    55% {background:orange;} 
    75% {background:black;} 
    100% {background:white;} 
} 

這可能做的伎倆

相關問題