© 2016 電脳 Papa 1 1310-5 Animation-direction ■
animation-direction
animation-direction プロパティには、アニメーションのサイクルの全部または一部分を 通常通り実行するか逆回転で実行するかを指定します。 値 説 明 normal reverse alternate alternate-reverse アニメーションの全ての繰り返しが指定された通りに実行され る。初期値はnormal。 アニメーションの全ての繰り返しが、指定された進路と逆の方 向に実行される。 アニメーションのサイクルの繰り返しが奇数回の時には通常 の方向へ実行され、偶数回の時には逆の方向に実行される。 アニメーションのサイクルの繰り返しが奇数回の時には逆の 方向へ実行され、偶数回の時には通常の方向に実行される。 animation-direction プロパティの値が alternate または alternate-reverse の場合、 animation-iteration-count プロパティ(アニメーションのサイクルの繰り返し回数)の 値が奇数か偶数かによって、アニメーションの進行方向が逆転します。 ま た 、 animation-iteration-count プ ロ パ テ ィ の 値 が infinite の 場 合 は 、 animation-direction プロパティの値による動作が繰り返し実行されます。 アニメーションが逆回転で実行されている時には、animation-timing-function プロパテ ィで指定された変化のタイミング・進行割合も逆回転になります。たとえば、ease-in の アニメーションが逆回転で実行されている時には、ease-out のアニメーションに見えま す。 ●animation-direction: normal;のサンプル animation-direction プロパティでアニメーションの進行する方向を変えています。①~④ すべて animation-direction: normal;で指定して、通常の方向へ進行させます。 ①要素の位置が、右上から左下へ移動します。 ②要素の形が円形から少し角の丸い正方形に変化します。 ③要素の色が赤色→黄色→緑色→青色→マゼンタ色に変化します。 ④通常の方向へ進行中に要素の大きさが途中(前半)で小さくなり、また元の大きさに 戻ります。 プロパティ サンプルCSS1© 2016 電脳 Papa 2 【Anime05Normal の説明】 〔HTML の記述 (Anime05Normal.html)〕 Anime01.html の次の部分だけを変更した内容です。 <title> Anime05Normal</title>、 href=" Anime05Normal.css"、 <p>■animation-direction のサンプル。</p> 〔CSS の記述(Anime05Normal.css)〕 先ず、アニメーションが動く#stage の記述をします。Anime01.css と同じです。
アニメーションさせる#ballBox 要素を記述します。position は absolute にして、位置は、 top: 5px; left: 5px;(#stage ボックスの左上端を基準とした位置)で指定します。大き
#stage { width: 600px; height: 160px; background-color: #FFFFFF; border: solid 1px #000000; position: relative; } <!DOCTYPE html> <html> <head> <title>Anime05Normal</title> <meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="Anime05Normal.css"> </head> <body> <p>■animation-direction のサンプル。</p> <div id="stage"> <div id="ballBox"></div> </div> </body> </html>
© 2016 電脳 Papa 3
さは width: 100px; height: 100px;にします。border-radius: 50%;で円形にして、ボーダ ーは border: solid 2px #000000;にします。background-color: red;で赤色にします。 次にアニメーションの指定をします。animation-name: trans, colorChg, sizeChg;として #ballBox 要素に3つのアニメーション名を指定しています。animation-duration: 5s;とし て3つのアニメーション名の全部が5秒のアニメーションになります。
animation-timing-function は animation-timing-function: ease-in, linear, ease-out; と指定しています。trans アニメーションは ease-in なので初めはゆっくりで徐々に速くな り、colorChg アニメーションは linear なので等速で、sizeChg アニメーションは ease-out なので初めは早く徐々にゆっくりした変化になります。
animation-delay は animation-delay: 0s;と指定しています。trans アニメーション、 colorChg アニメーション、sizeChg アニメーションすべて即時に開始します。
animation-iteration-count は animation-iteration-count: 1;と指定しています。trans アニメーション、colorChg アニメーション、sizeChg アニメーションすべて1回だけ実行 します。
animation-direction は animation-direction: normal;と指定しています。trans アニメー ション、colorChg アニメーション、sizeChg アニメーションすべて通常の方向へ実行しま す。 アニメーション名に対応するタイムライン(@keyframes)は Anime01.css と同じです。 #ballBox { top: 5px; left: 5px; width: 100px; height: 100px; border: solid 2px #000000; border-radius: 50%; background-color: red; position: absolute;
animation-name: trans, colorChg, sizeChg; animation-duration: 5s;
animation-timing-function: ease-in, linear, ease-out; animation-delay: 0s;
animation-iteration-count: 1; animation-direction: normal;
-webkit-animation-name: trans, colorChg, sizeChg; -webkit-animation-duration: 5s;
-webkit-animation-timing-function: ease-in, linear, ease-out; -webkit-animation-delay: 0s;
-webkit-animation-iteration-count: 1; -webkit-animation-direction: normal;
© 2016 電脳 Papa 4 ●animation-direction: reverse;のサンプル animation-direction プロパティでアニメーションの進行する方向を変えています。①~④ すべて animation-direction: reverse;で指定して、通常とは逆の方向へ進行させます。 ①要素の位置が、左下からに右上へ移動します。 ②要素の形が少し角の丸い正方形から円形に変化します。 ③要素の色がマゼンタ色→青色→緑色→黄色→赤色に変化します。 ④通常とは逆の方向へ進行中に要素の大きさが途中(後半)で小さくなり、また元の大 きさに戻ります。 【Anime05Reverse の説明】 〔HTML の記述 (Anime05Reverse.html)〕 Anime05Normal.html の次の部分だけを変更した内容です。 <title> Anime05Reverse </title>、
href=" Anime05Reverse.css"
〔CSS の記述(Anime05Reverse.css)〕
#stage の記述は Anime05Normal.css と同じです。
#ballBox 要素の記述は Anime05Normal.css と次の部分だけが違います。
animation-direction は animation-direction: reverse;と指定しています。trans アニメ ーション、colorChg アニメーション、sizeChg アニメーションすべて通常とは逆の方向へ 実行します。 サンプルCSS2 #ballBox { top: 5px; left: 5px; width: 100px; height: 100px; border: solid 2px #000000; border-radius: 50%; background-color: red; position: absolute;
© 2016 電脳 Papa 5 アニメーション名に対応するタイムライン(@keyframes)は Anime05.css と同じです。 ●animation-direction: alternate;のサンプル animation-direction プロパティでアニメーションの進行する方向を変えています。①~④ すべて animation-direction: alternate;で指定して、通常の方向へ進行させた後、通常と は逆の方向へ進行させます。 ①要素の位置が、右上から左下へ移動した後、左下からに右上へ移動します。 ②要素の形が円形から少し角の丸い正方形に変化した後、少し角の丸い正方形から円形 に変化します。 ③要素の色が赤色→黄色→緑色→青色→マゼンタ色に変化した後、マゼンタ色→青色→ 緑色→黄色→赤色に変化します。 ④通常の方向へ進行中に要素の大きさが途中(前半)で小さくなり、また元の大きさに 戻った後、通常とは逆の方向へ進行中に要素の大きさが途中(後半)で小さくなり、 また元の大きさに戻ります。 サンプルCSS3
animation-name: trans, colorChg, sizeChg; animation-duration: 5s;
animation-timing-function: ease-in, linear, ease-out; animation-delay: 0s;
animation-iteration-count: 1; animation-direction: reverse;
-webkit-animation-name: trans, colorChg, sizeChg; -webkit-animation-duration: 5s;
-webkit-animation-timing-function: ease-in, linear, ease-out; -webkit-animation-delay: 0s;
-webkit-animation-iteration-count: 1; -webkit-animation-direction: reverse;
© 2016 電脳 Papa 6
【Anime05Alternate2 の説明】
〔HTML の記述 (Anime05Alternate2.html)〕
Anime05Normal.html の次の部分だけを変更した内容です。 <title> Anime05Alternate2 </title>、
href=" Anime05Alternate2.css"
〔CSS の記述(Anime05Alternate2.css)〕
#stage の記述は Anime05Normal.css と同じです。
#ballBox 要素の記述は Anime05Normal.css と次の部分だけが違います。
animation-direction は animation-direction: alternate; と 指 定 し て い ま す 。 animation-direction: alternate;の場合、animation-iteration-count の値によって動き が違ってきます。値が奇数回数の時には通常の方向へ実行され、偶数回数の時には逆の方 向に実行されます。サンプルでは animation-iteration-count: 2;と指定しています。trans アニメーション、colorChg アニメーション、sizeChg アニメーションすべて通常の方向へ 進行した後、通常とは逆の方向へ進行します。 #ballBox { top: 5px; left: 5px; width: 100px; height: 100px; border: solid 2px #000000; border-radius: 50%; background-color: red; position: absolute;
© 2016 電脳 Papa 7
アニメーション名に対応するタイムライン(@keyframes)は Anime05.css と同じです。
animation-name: trans, colorChg, sizeChg; animation-duration: 5s;
animation-timing-function: ease-in, linear, ease-out; animation-delay: 0s;
animation-iteration-count: 2;
animation-direction: alternate;
-webkit-animation-name: trans, colorChg, sizeChg; -webkit-animation-duration: 5s;
-webkit-animation-timing-function: ease-in, linear, ease-out; -webkit-animation-delay: 0s;
-webkit-animation-iteration-count: 2;
-webkit-animation-direction: alternate;
© 2016 電脳 Papa 8 ●animation-direction: alternate-reverse;のサンプル animation-direction プロパティでアニメーションの進行する方向を変えています。①~④ すべて animation-direction: alternate-reverse;で指定して、通常とは逆の方向へ進行さ せた後、通常の方向へ進行させます。 ①要素の位置が、左下からに右上へ移動した後、右上から左下へ移動します。 ②要素の形が少し角の丸い正方形から円形に変化した後、円形から少し角の丸い正方形 に変化します。 ③要素の色がマゼンタ色→青色→緑色→黄色→赤色に変化した後、赤色→黄色→緑色→ 青色→マゼンタ色に変化します。 ④通常とは逆の方向へ進行中に要素の大きさが途中(後半)で小さくなり、また元の大 きさに戻った後、通常の方向へ進行中に要素の大きさが途中(前半)で小さくなり、 また元の大きさに戻ります。 【Anime05AltRev2nd の説明】 〔HTML の記述 (Anime05AltRev2nd.html)〕 Anime05Normal.html の次の部分だけを変更した内容です。 <title> Anime05AltRev2nd</title>、 href=" Anime05AltRev2nd.css" 〔CSS の記述(Anime05AltRev2nd.css)〕 サンプルCSS4
© 2016 電脳 Papa 9
#stage の記述は Anime05Normal.css と同じです。
#ballBox 要素の記述は Anime05Normal.css と次の部分だけが違います。
animation-direction は animation-direction: alternate-reverse;と指定しています。 animation-direction: alternate-reverse;の場合、animation-iteration-count の値によ って動きが違ってきます。値が奇数回数の時には通常とは逆の方向へ実行され、偶数回数 の時には通常の方向に実行されます。サンプルでは animation-iteration-count: 2;と指定 しています。trans アニメーション、colorChg アニメーション、sizeChg アニメーションす べて通常とは逆の方向へ進行した後、通常の方向へ進行します。 アニメーション名に対応するタイムライン(@keyframes)は Anime05.css と同じです。 #ballBox { top: 5px; left: 5px; width: 100px; height: 100px; border: solid 2px #000000; border-radius: 50%; background-color: red; position: absolute;
animation-name: trans, colorChg, sizeChg; animation-duration: 5s;
animation-timing-function: ease-in, linear, ease-out; animation-delay: 0s;
animation-iteration-count: 2;
animation-direction: alternate-reverse;
-webkit-animation-name: trans, colorChg, sizeChg; -webkit-animation-duration: 5s;
-webkit-animation-timing-function: ease-in, linear, ease-out; -webkit-animation-delay: 0s;
-webkit-animation-iteration-count: 2;
-webkit-animation-direction: alternate-reverse;
© 2016 電脳 Papa 10 ●animation-direction をアニメーション名ごとに違う値を適用したサンプル アニメーション名ごとに違う値を適用することもできます。このサンプルでは次のように 違う値を適用させてみます。 ①要素の位置が、右上から左下へ移動した後、左下からに右上へ移動します(alternate)。 ②要素の形が円形から少し角の丸い正方形に変化した後、少し角の丸い正方形から円形 に変化します(alternate)。 ③要素の色がマゼンタ色→青色→緑色→黄色→赤色に2回変化します(revrese)。 ④1回目は通常の方向へ進行中に要素の大きさが途中(前半)で小さくなり、また元の 大きさに戻ります。2回目は逆の方向へ進行中に要素の大きさが途中(中間位)で小 さくなり、また元の大きさに戻ります、(normal)。 (注:③と④が2回動くのは、①と②の trans アニメーションの animation-direction の 値が alternate になっているからです。また、③と④で1回目と2回目の変化の速さ が違うのは、trans アニメーションの animation-timing-function プロパティの値が ease-in で指定されているため、通常方向へ進行するときは ease-in、逆方向へ進行す るときは ease-out になるので、その影響と③と④の自分の animation-timing-function プロパティの値が合成されるからです。) 【Anime05Mix の説明】 〔HTML の記述 (Anime05Mix.html)〕 Anime05Normal.html の次の部分だけを変更した内容です。 サンプルCSS5
© 2016 電脳 Papa 11 <title> Anime05Mix </title>、
href=" Anime05Mix.css"
〔CSS の記述(Anime05Mix.css)〕
#stage の記述は Anime05Normal.css と同じです。
#ballBox 要素の記述は Anime05Normal.css と次の部分だけが違います。
animation-direction は animation-direction: alternate, reverse, normal;と指定して います。alternate があるので animation-iteration-count: 2;と指定しています。trans アニメーションは alternate なので通常方向へ進行した後、通常とは逆方向へ進行します。 colorChg アニメーションは reverse なので通常とは逆方向の進行が2回実行されます。 sizeChg アニメーションは normal なので通常方向の進行が2回実行されます。(colorChg と sizeChg は animation-iteration-count: 2;なので2回実行されます。) アニメーション名に対応するタイムライン(@keyframes)は Anime05.css と同じです。 #ballBox { top: 5px; left: 5px; width: 100px; height: 100px; border: solid 2px #000000; border-radius: 50%; background-color: red; position: absolute;
animation-name: trans, colorChg, sizeChg; animation-duration: 5s;
animation-timing-function: ease-in, linear, ease-out; animation-delay: 0s;
animation-iteration-count: 2;
animation-direction: alternate, reverse, normal;
-webkit-animation-name: trans, colorChg, sizeChg; -webkit-animation-duration: 5s;
-webkit-animation-timing-function: ease-in, linear, ease-out; -webkit-animation-delay: 0s;
-webkit-animation-iteration-count: 2;
-webkit-animation-direction: alternate, reverse, normal;