CSSアニメーション
CSSアニメーション
CSSは、JavaScriptやFlashを使用せずにHTML要素のアニメーションを可能にします!
この章では、次のプロパティについて学習します。
@keyframes
animation-name
animation-duration
animation-delay
animation-iteration-count
animation-direction
animation-timing-function
animation-fill-mode
animation
アニメーションのブラウザーサポート
表の数字は、プロパティを完全にサポートする最初のブラウザバージョンを示しています。
プロパティ |
|||||
---|---|---|---|---|---|
@キーフレーム | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
アニメーション名 | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
アニメーション期間 | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
アニメーション遅延 | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
アニメーション反復回数 | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
アニメーションディレクション | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
アニメーションタイミング関数 | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
アニメーションフィルモード | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
アニメーション | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
CSSアニメーションとは
アニメーションを使用すると、要素をあるスタイルから別のスタイルに徐々に変更できます。
必要な数のCSSプロパティを何度でも変更できます。
CSSアニメーションを使用するには、最初にアニメーションのキーフレームをいくつか指定する必要があります。
キーフレームは、要素が特定の時点で持つスタイルを保持します。
@keyframesルール
CSSスタイルを指定すると、@keyframes
ルールに従って、アニメーションは特定の時間に現在のスタイルから新しいスタイルに徐々に変化します。
アニメーションを機能させるには、アニメーションを要素にバインドする必要があります。
次の例では、"example"アニメーションを<div>要素にバインドします。アニメーションは4秒間続き、<div>要素の背景色が「赤」から「黄色」に徐々に変化します。
例
ノート:のanimation-duration
プロパティは、アニメーションが完了するまでにかかる時間を定義します。もしanimation-duration
プロパティが指定されていない場合、デフォルト値は0s(0秒)であるため、アニメーションは発生しません。
上記の例では、キーワード「from」と「to」(0%(開始)と100%(完了)を表す)を使用して、いつスタイルが変更されるかを指定しています。
パーセントを使用することもできます。パーセントを使用すると、スタイルの変更を好きなだけ追加できます。
次の例では、アニメーションが25%完了したとき、50%完了したとき、さらにアニメーションが100%完了したときに<div>要素のbackground-colorを変更します。
例
次の例では、アニメーションが25%完了、50%完了、そしてアニメーションが100%完了したときに、背景色と<div>要素の位置の両方を変更します。
例
アニメーションを遅らせる
のanimation-delay
プロパティは、アニメーションの開始の遅延を指定します。
次の例では、アニメーションを開始する前に2秒の遅延があります。
例
負の値も許可されます。負の値を使用すると、アニメーションはすでに再生されているかのように開始されます。*N*秒。
次の例では、アニメーションは既に2秒間再生されているかのように開始されます。
例
アニメーションの実行回数を設定する
animation-iteration-count
プロパティは、アニメーションを実行する回数を指定します。
次の例では、停止する前にアニメーションを3回実行します。
例
次の例では、値「infinite」を使用して、アニメーションを永遠に継続させます。
例
逆方向または交互のサイクルでアニメーションを実行する
のanimation-direction
プロパティは、アニメーションを順方向、逆方向、または交互のサイクルで再生するかどうかを指定します。
animation-direction プロパティには、次の値を指定できます。
normal
- アニメーションは通常どおり再生されます(転送)。これがデフォルトですreverse
- アニメーションが再生されます逆方向(後方)alternate
- アニメーションが再生されます最初に前進し、次に後退するalternate-reverse
- アニメーションが再生されます最初に後方に、次に前方に
次の例では、アニメーションを逆方向(後方)に実行します。
例
次の例では、値「alternate」を使用して、アニメーションを最初に順方向に実行し、次に逆方向に実行します。
例
次の例では、値「alternate-reverse」を使用して、アニメーションを最初に逆方向に実行し、次に順方向に実行します。
例
アニメーションの速度曲線を指定する
のanimation-timing-function
プロパティは、アニメーションの速度曲線を指定します。
animation-timing-functionプロパティには、次の値を指定できます。
ease
- 開始が遅く、次に速く、次にゆっくり終了するアニメーションを指定します (これがデフォルトです)。linear
- 最初から最後まで同じ速度のアニメーションを指定しますease-in
- スロースタートのアニメーションを指定ease-out
- スローエンドのアニメーションを指定ease-in-out
- 開始と終了が遅いアニメーションを指定しますcubic-bezier(n,n,n,n)
- 3 次ベジエ関数で独自の値を定義できます
次の例は、使用できるさまざまな速度曲線の一部を示しています。
例
アニメーションの塗りつぶしモードを指定する
CSSアニメーションは、最初のキーフレームが再生される前または最後のキーフレームが再生された後、要素に影響を与えません。animation-fill-modeプロパティは、この動作をオーバーライドできます。
のanimation-fill-mode
プロパティは、アニメーションが再生されていないとき(開始前、終了後、またはその両方)のターゲット要素のスタイルを指定します。
animation-fill-modeプロパティには、次の値を指定できます。
none
- デフォルト値。アニメーションはしません実行前または実行後に要素にスタイルを適用するforwards
- 要素は最後のキーフレームによって設定されたスタイル値(アニメーションの方向によって異なります)およびアニメーションの反復回数)backwards
- 要素はスタイルを取得します最初のキーフレームによって設定される値(アニメーションの方向に依存)、およびアニメーション遅延期間中これを保持しますboth
- アニメーションはルールに従います前方と後方の両方で、両方のアニメーションプロパティを拡張します。方向
次の例では、アニメーションの終了時に最後のキーフレームからのスタイル値を<div>要素に保持させます。
例
次の例では、アニメーションの開始前(アニメーションの遅延期間中)に、最初のキーフレームによって設定されたスタイル値を<div>要素に取得させます。
例
次の例では、<div>要素が、アニメーションの開始前に最初のキーフレームによって設定されたスタイル値を取得し、アニメーションの終了時に最後のキーフレームからのスタイル値を保持できるようにします。
例
Animation Shorthandプロパティ
以下の例では、6つのアニメーションプロパティを使用しています。
例
上記と同じアニメーション効果は、animation
プロパティの短縮形を使用して実現できます
CSSアニメーションプロパティ
次の表に、@keyframesルールとすべてのCSSアニメーションプロパティを示します。
プロパティ |
説明 |
---|---|
@keyframes | アニメーションコードを指定します |
animation | すべてのアニメーションプロパティを設定するための簡略プロパティ |
animation-delay | アニメーション開始の遅延を指定します |
animation-direction | アニメーションを順方向、逆方向、または逆方向に再生するかどうかを指定します 交互のサイクルで |
animation-duration | アニメーションが1サイクルを完了するのにかかる時間を指定します |
animation-fill-mode | アニメーションが再生されていないときの要素のスタイルを指定します (開始前、終了後、またはその両方) |
animation-iteration-count | アニメーションを再生する回数を指定します |
animation-name | @keyframes アニメーションの名前を指定します |
animation-play-state | アニメーションが実行中か一時停止中かを指定します |
animation-timing-function | アニメーションの速度曲線を指定します |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。