2016-05-19 4 views
0

次のCSSアニメーションが赤と青の間で色の切り替えを起こさない理由を理解してください。タイミング関数として2つの状態を切り替えるCSSアニメーション

div {animation: colorswitch 1s step-end infinite} 
 
@keyframes colorswitch {0% {color:red} 100% {color:blue}}
<div>text</div>

Iは直接最終の状態にジャンプすることになっているstep-endを指定します。しかし、それは動作しません。

+0

のために追加の仕事しますか? –

+0

私は繰り返し回数として '無限'を指定したので、永遠に繰り返す必要があります。 – GetFree

+0

何を繰り返して...まっすぐにジャンプしています。 –

答えて

0

色スイッチアニメーションの溶液です。

demo

div { 
    animation: colorswitch 1s step-end infinite; 
} 
@keyframes colorswitch { 
    0% {color:red} 
    50% {color:blue} 
} 

はまだそれがこのように振る舞うだ理由を理解しようとしています。

なぜ50%が機能しますか?

また、FOR-

@keyframes colorswitch { 
    0% {color:red} 
    50% {color:blue} 
    100% {color:blue} 
} 

は、無限に繰り返すことを試みるない理由末尾にまっすぐにジャンプすることになっていた場合、私は...混乱している

@keyframes colorswitch { 
    0% {color:red} 
    50% {color:blue} 
    100% {color:red} 
} 
+0

MDNによると、 'step-end'は' steps(1、end) 'のエイリアスです(https://developer.mozilla.org/en-US/docs/Web/CSS/timing-function) – GetFree

+0

はい、 'steps(1)'や 'steps(1、end)'はアニメーションを持たず、常に0%のままです。 –

+0

'step-end'を' steps(1、end) 'に置き換えれば、同様に動作します。彼らはどちらも同じことを意味します。 – GetFree

0

ああ...私は問題があると思う。私はこれがあなたの後だったと思います。ここ

div { 
 
    font-size: 72px; 
 
    animation: colorswitch 1s step-end infinite; 
 
} 
 
@keyframes colorswitch { 
 
    0% { 
 
    color: red; 
 
    } 
 
    50% { 
 
    color: blue; 
 
    } 
 
}
<div> 
 
    text</div>

+0

なぜ50%?それは100%ではないでしょうか? – GetFree

関連する問題