animation-name:属性値
@keyframes ルールで定義されたアニメーション名を指定する。
属性値 | 説明 |
---|---|
none | アニメーション効果を指定しない(規定値) |
アニメーション名 | カンマ( , )区切りでアニメーション名のリストを指定する |
アニメーションについて説明します。
要素にキーフレームアニメーションを適用する場合の、アニメーション名を指定する際に使用します。
animation 系プロパティで要素にキーフレームアニメーションを適用する際には、@keyframes ルールでキーフレームを定義する必要があります。 キーフレームでは、アニメーション開始時点(from)のスタイルと終了時点(to)、 さらに、必要に応じてその進行途中(0~100%)のスタイルを指定します。
@keyframes ルールで定義されたアニメーション名を指定する。
属性値 | 説明 |
---|---|
none | アニメーション効果を指定しない(規定値) |
アニメーション名 | カンマ( , )区切りでアニメーション名のリストを指定する |
スタイルシート @keyframes anime { from {width: 50px; height: 50px; background-color: aqua;} to {width: 200px; height: 50px; background-color: lightgreen;} } div { animation-iteration-count:infinite; animation-duration:5s; } ボディ <div style="animation-name:anime;">アニメーション</div>
@keyframes の from から to までの変化をアニメーションします。
アニメーション1回分の再生時間を指定します。
アニメーション1回分の再生時間を指定する。
属性値 | 説明 |
---|---|
時間 | 数値+単位(s、ms)。animation-name で複数のアニメーションを指定した場合、カンマで区切って複数指定する。 |
スタイルシート @keyframes anime1 { from {color:black;} 50% {color:white;} to {color:black;} } @keyframes anime2 { from {background-color:lightgreen;} to {background-color:aqua;} } div { width:120px; height:20px; animation-iteration-count:infinite; animation-name:anime1,anime2; } ボディ <div style="animation-duration:5s,10s;">アニメーション</div>
文字色をを変化させる anime1 と背景色を変化させる anime2 をアニメーションしていますが、anime1 は 5秒で anime2 は 10秒で変化します。
アニメーションの変化のタイミングを指定します。
アニメーションの変化のタイミングを指定する。
属性値 | 説明 |
---|---|
linear | 最初から最後まで同じ速さで変化する。cubic-bezier(0.25, 0.1, 0.25, 1.0)と同じ |
ease | 最初は緩やかに、徐々に加速し、後半ゆっくり変化する。cubic-bezier(0, 0, 1.0, 1.0)と同じ(規定値) |
ease-in | 最初ゆっくり、後半すばやく変化する。cubic-bezier(0.42, 0, 1.0, 1.0)と同じ |
ease-out | 最初すばやく、後半ゆっくり変化する。cubic-bezier(0, 0, 0.58, 1.0)と同じ |
ease-in-out | 始めは緩やかに、途中で加速し、最後また緩やかに変化する。cubic-bezier(0.42, 0, 0.58, 1.0)と同じ |
cubic-bezier(x1, y1, x2, y2) | [0.0, 0.0] から始まり、[x1, y1], [x2, y2] を基準点にして [1.0, 1.0] に到達する三次ベジェ曲線に従い変化する。 |
step-start | 最初からアニメーション終了時の状態にする。steps(1, start)と同じ |
step-end | 最後に一瞬でアニメーション終了時の状態にする。steps(1, end)と同じ |
steps(ステップ数, start か end) | 時間的変化を、複数のステップに分けて行う。 start:開始直後に 1段階目の変化が発生、end:最初のインターバル経過後に 1段階目の変化が発生(規定値:end) |
スタイルシート @keyframes anime { from {width: 0px;} 80% {width: 500px;} to {width: 500px;} } div { height:20px; margin: 5px; padding: 2px; background: aquamarine; white-space: nowrap; font-weight: bold; animation: anime 5s infinite both; } ボディ <div style="animation-timing-function:linear;">linear</div> <div style="animation-timing-function:ease;">ease</div> <div style="animation-timing-function:ease-in;">ease-in</div> <div style="animation-timing-function:ease-out;">ease-out</div> <div style="animation-timing-function:ease-in-out;">ease-in-out</div> <div style="animation-timing-function:cubic-bezier(0.1, 2.3, 0.3, 0.3);">cubic-bezier</div> <div style="animation-timing-function:step-start;">step-start</div> <div style="animation-timing-function:step-end;">step-end</div> <div style="animation-timing-function:steps(3, start);">steps</div>
Safari は、cubic-bezier は機能していない(ease と同じ)ようです。
アニメーションを開始する時間を指定した時間分遅延させます。
アニメーションを開始する時間を指定した時間分遅延させる。
属性値 | 説明 |
---|---|
時間 | 数値+単位(s、ms) |
スタイルシート @keyframes anime { from {width: 50px; background-color: aqua;} to {width: 200px; background-color: lightgreen;} } div { height: 50px; animation-duration:5s; animation-name:anime; } ボディ <div style="animation-delay:0s;">0秒後</div> <div style="animation-delay:1s;">1秒後</div> <div style="animation-delay:3s;">3秒後</div>
[再実行]ボタンをクリックすると、アニメーションが上から 0秒後、1秒後、3秒後にそれぞれ開始されます。
アニメーションを繰り返す回数を指定します。
アニメーションを繰り返す回数を指定する。
属性値 | 説明 |
---|---|
infinite | 無限に繰り返す。 |
回数 | アニメーション繰り返す回数 |
スタイルシート @keyframes anime { from {width: 50px; background-color: aqua;} to {width: 200px; background-color: lightgreen;} } div { height: 50px; animation-duration:3s; animation-name:anime; } ボディ <div style="animation-iteration-count:1;">1回</div> <div style="animation-iteration-count:3;">3回</div> <div style="animation-iteration-count:5;">5回</div>
[再実行]ボタンをクリックすると、アニメーションが上から 1回、3回、5回それぞれ繰り返されます。
アニメーションの実施方向を指定します。
アニメーションの実施方向を指定する。
属性値 | 説明 |
---|---|
normal | すべて通常方向に再生(規定値) |
reverse | すべて逆方向に再生 |
alternate | 通常方向、逆方向の順に再生 |
alternate-reverse | 逆方向、通常方向の順に再生 |
スタイルシート @keyframes anime { from {width: 50px; background-color: aqua;} to {width: 200px; background-color: lightgreen;} } div { height: 50px; animation-duration:3s; animation-name:anime; animation-iteration-count:infinite; } ボディ <div style="animation-direction:normal;">normal</div> <div style="animation-direction:reverse;">reverse</div> <div style="animation-direction:alternate;">alternate</div> <div style="animation-direction:alternate-reverse;">alternate-reverse</div>
Safari は、reverse や alternate-reverse は機能していない(normal と同じ)ようです。
アニメーションの開始や終了時のスタイルを指定します。
アニメーションの開始や終了時のスタイルを指定する。
属性値 | 説明 |
---|---|
none | 開始時、終了時にはアニメーションスタイルは適用されない(規定値) |
forwards | 終了時に、アニメーション終了時のスタイルを適用したままにする |
backwards | 開始時に、アニメーション開始時のスタイルを適用する |
both | 開始時には開始時のスタイルを、終了時には終了時のスタイルを適用する |
スタイルシート @keyframes anime { from {width: 50px; background-color: aqua;} to {width: 200px; background-color: lightgreen;} } div { height: 50px; animation-duration:3s; animation-name:anime; animation-iteration-count:1; animation-delay:3s; } ボディ <div style="animation-fill-mode:none;">none</div> <div style="animation-fill-mode:forwards;">forwards</div> <div style="animation-fill-mode:backwards;">backwards</div> <div style="animation-fill-mode:both;">both</div>
[再実行]ボタンをクリック後、3秒たってからアニメーションが始まります。backwards と both は、その間アニメーション開始時のスタイルが適用されます。
また、forwards と both は、アニメーション終了時にもそのスタイルが適用されたままになります。
アニメーションの実行状態を指定します。
アニメーションの実行状態を指定する。
属性値 | 説明 |
---|---|
running | 再生(規定値) |
paused | 一時停止 |
スタイルシート @keyframes anime { from {width: 50px; background-color: aqua;} to {width: 200px; background-color: lightgreen;} } div { height: 50px; animation-duration:3s; animation-name:anime; animation-direction:alternate; animation-iteration-count:infinite; } ボディ <div style="animation-play-state:paused;">paused</div>
[再生]ボタンと[一時停止]ボタンによって、アニメーションの実行状態を変更します。
アニメーションのいろいろな設定をまとめて指定します。
アニメーションのいろいろな設定をまとめてセットで指定する。
なお、 , で区切れば複数のセットを指定できる。
属性値 | 説明 |
---|---|
アニメーション名 | animation-name の値 |
再生時間 | animation-duration の値 |
変化のタイミング | animation-timing-function の値 |
開始遅延 | animation-delay の値 |
繰り返し回数 | animation-iteration-count の値 |
実施方向 | animation-direction の値 |
開始終了時スタイル | animation-fill-mode の値 |
実行状態 | animation-play-state の値 |
個々の値は省略可能で順序も変更可能だが、時間と解釈される値のみは、一つ目が animation-duration、二つ目が animation-delay として解釈される。
下の例は二つともアニメーションが2種類指定されています。
ただし、一つ目の例は、開始遅延が指定されていませんので、四角形が横に長くなるのと縦に長くなるのが同時に実行されます。
それに対して二つ目の例は、縦に長くなるアニメーションの開始遅延が3秒と指定されていますので、四角形が横に長くなった後に縦に長くなります。
スタイルシート @keyframes anime1 { from {width: 50px;} to {width: 200px;} } @keyframes anime2 { from {height: 20px;} to {height: 80px;} } div { height: 50px; } ボディ <div style="animation:anime1 3s 1 forwards ease-out, anime2 3s 1 forwards ease-out;">同時実行</div> <div style="animation:anime1 3s 0s 1 forwards ease-out, anime2 3s 3s 1 forwards ease-out;">順次実行</div>
トランジションを適用する CSS 属性名を指定します。
トランジションを適用する CSS 属性名を指定する。
属性値 | 説明 |
---|---|
all | 変化を適用できる属性すべてが変化する(規定値) |
none | どの属性も変化しない |
CSS 属性名 | 変化させる属性名のリストをカンマ( , )区切りで指定する |
スタイルシート div { background-color:orange; width:200px; height:50px; transition-duration:1s; } div:hover { background-color:yellow; width:300px; height:100px; } ボディ <div style="transition-property:background-color, width, height;">トランジション</div>
オレンジ色の矩形にマウスを重ねてください。
幅 200px、高さ 50px、オレンジ色 が、幅 300px、高さ 100px、黄色 に変化します。マウスを外せば元に戻ります。
変化に掛かる時間を指定します。
トランジションを適用する CSS プロパティ名を指定する。
属性値 | 説明 |
---|---|
時間 | 遷移するのにかかる時間(単位は s、ms) |
スタイルシート div { background-color:orange; width:200px; height:50px; transition-property:background-color, width, height; } div:hover { background-color:yellow; width:300px; height:100px; } ボディ <div style="transition-duration:3s;">トランジション</div>
オレンジ色の矩形にマウスを重ねてください。
3秒かけて変化します。マウスを外せば元に戻ります。
トランジション効果の作用を受ける CSS 属性の、中間状態の値を算出するタイミング関数を記述するために使用されます。
中間状態の値を算出するタイミング関数を指定する。
属性値 | 説明 |
---|---|
linear | 最初から最後まで同じ速さで変化する。 |
ease | 最初は緩やかに、徐々に加速し、後半ゆっくり変化する。(規定値) |
ease-in | 最初ゆっくり、後半すばやく変化する。 |
ease-out | 最初すばやく、後半ゆっくり変化する。 |
ease-in-out | 始めは緩やかに、途中で加速し、最後また緩やかに変化する。 |
step-start | 最初からアニメーション終了時の状態にする。 |
step-end | 最後に一瞬でアニメーション終了時の状態にする。 |
steps(ステップ数, start か end) | 時間的変化を、複数のステップに分けて行う。 start:開始直後に 1段階目の変化が発生、end:最初のインターバル経過後に 1段階目の変化が発生(規定値:end) |
スタイルシート div { background-color:orange; width:200px; height:30px; transition-property:background-color, width; transition-duration: 3s; } div:hover { background-color:yellow; width:500px; } ボディ <div style="transition-duration:3s;">トランジション</div>
オレンジ色の矩形にマウスを重ねてください。
transition-function によっていろいろな変化をします。マウスを外せば元に戻ります。
トランジションを開始する時間を指定した時間分遅延させます。
トランジションを開始する時間を指定した時間分遅延させる。
属性値 | 説明 |
---|---|
時間 | 遷移するのにかかる時間(単位は s、ms)(規定値:0s) |
スタイルシート div { background-color:orange; width:200px; height:30px; transition-property:background-color, width; transition-duration: 3s; } div:hover { background-color:yellow; width:500px; } ボディ <div style="transition-delay:0s;">0秒後</div> <div style="transition-delay:1s;">1秒後</div> <div style="transition-delay:3s;">3秒後</div>
オレンジ色の矩形にマウスを重ねてください。
transition-delay によって変化の開始時間が異なります。マウスを外せば元に戻ります。
トランジションのいろいろな設定をまとめて指定します。
トランジションのいろいろな設定を空白で区切ってまとめて指定する。変化させる CSS 属性名が複数あれば、さらにカンマ( , )区切りで続けて指定する
なお、時間が2つ指定されていたときには、一つ目がトランジション時間、二つ目がトランジションの開始遅延であるとみなされます。
属性値 | 説明 |
---|---|
トランジション属性 | transition-property の値(規定値:none) |
トランジション時間 | animation-duration の値(規定値:0s) |
トランジションのタイミング | transition-timing-function の値(規定値:ease) |
トランジションの開始遅延 | transition-delay の値(規定値:0s) |
スタイルシート div { background-color:orange; width:200px; height:50px; } div:hover { background-color:yellow; width:500px; height:100px; } ボディ <div style="transition:background-color 5s ease-out, width ease-in-out 3s 2s, height ease 4s 1s;">トランジション</div>
オレンジ色の矩形にマウスを重ねてください。
いろいろな変化が起こります。マウスを外せば元に戻ります。