このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

animation-direction”プロパティ:アニメーションの再生方向CSS3で追加

記事Aug. 27th,2021
アニメーションの再生方向を指定するプロパティ
この記事はCSS3に対応しています。
この記事はCSS3に対応しています。

プロパティについて

概要

初期値 animation-direction: normal;
適用対象 すべての要素
継承 No
パーセント値 パーセント値は指定できません
計算値 指定したキーワードをアイテムとするリスト
アニメーション 不可

animation-direction”プロパティはanimation-name”プロパティなどで指定されたアニメーションを通常再生するか逆再生するかを指定するプロパティです。

animation-direction”プロパティの値を“alternate”もしくは“alternate-reverse”に指定するとanimation-interation-count”プロパティでアニメーションを繰り返した場合に繰り返すたびに再生方向を逆転させることができます。

サンプルコード

div { animation-direction: alternate;}

説明
<single-animation-direction>”値
normal アニメーションは通常通り再生されます
reverse アニメーションは逆再生されます
alternate アニメーションは通常の向きで再生され、終わると次は逆再生します (奇数回は通常再生、偶数回は逆再生します。)
alternate-reverse アニメーションは逆再生され、終わると次は通常の向きで再生します (奇数回は逆再生、偶数回は通常再生します。)
他の値
共通キーワード

複数のアニメーションを指定する

animation-name”プロパティで複数のアニメーションが指定されている場合、値を“,(コンマ)”で区切って記述することでそれぞれのアニメーションの再生方向を指定することができます。値の順番はanimation-name”プロパティで指定した値の順番に対応します。

div {
animation-name: 〚1個目のアニメーション〛,〚2個目のアニメーション〛,〚3個目のアニメーション〛,...;
animation-direction: 〚1個目のアニメーションの再生方向〛,〚2個目のアニメーションの再生方向〛,〚3個目のアニメーションの再生方向〛,...;
}

仕様書

定義されている仕様書
Level 1
作業草稿(WD)
animation-direction
定義あり
Level 1
作業草稿(WD)
normal
定義あり
reverse
定義あり
alternate
定義あり
alternate-reverse
定義あり

使用例

通常再生する

.sample-box {
animation-name: SampleAnime1;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-direction: normal;
}

@keyframes SampleAnime1 {
0% { transform: translate(0); }
100% { transform: translate(300px); }
}
*マウスをホバーしている間にアニメーションが適用されます

逆再生する

.sample-box {
animation-name: SampleAnime1;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-direction: reverse;
}

@keyframes SampleAnime1 {
0% { transform: translate(0); }
100% { transform: translate(300px); }
}
*マウスをホバーしている間にアニメーションが適用されます

再生と逆再生を繰り返す

.sample-box {
animation-name: SampleAnime1;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-direction: alternate;
}

@keyframes SampleAnime1 {
0% { transform: translate(0); }
100% { transform: translate(300px); }
}
*マウスをホバーしている間にアニメーションが適用されます
.sample-box {
animation-name: SampleAnime1;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-direction: alternate-reverse;
}

@keyframes SampleAnime1 {
0% { transform: translate(0); }
100% { transform: translate(300px); }
}
*マウスをホバーしている間にアニメーションが適用されます

複数のアニメーションを指定する

.sample-box {
animation-name: SampleAnime1, SampleAnime2;
animation-duration: 3s, 3s;
animation-iteration-count: infinite, infinite;
animation-direction: alternate,normal;
}

@keyframes SampleAnime1 {
0% { transform: translate(0); }
100% { transform: translate(300px); }
}

@keyframes SampleAnime2 {
0% { background-color: rgb(71,209,209)} /* */
20% { background-color: rgb(170,207,83)} /* */
40% { background-color: rgb(248,184,98)} /* */
60% { background-color: rgb(211,56,28)} /* */
80% { background-color: rgb(233,84,107)} /* */
100% { background-color: rgb(180,76,151)} /* */
}
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク