animation-directionプロパティは、要素にキーフレームアニメーションを適用する場合に、
アニメーションを交互に反転再生させるかどうかを指定する際に使用します。
値にalternateを指定すると、
奇数回では普通方向の再生、偶数回では逆方向の再生となって、アニメーションサイクルを繰り返します。
アニメーションが逆再生される最中には、
animation-timing-functionプロパティで指定されたタイミング・進行割合も逆方向になります。
例えば、animation-timing-functionプロパティの値にease-in(ゆっくり始まる)が指定されたアニメーションが逆再生される最中には、
ease-out(ゆっくり終わる)が指定されたようになります。
■値
- normal
- 普通方向の再生でアニメーションサイクルを繰り返す(初期値)
- alternate
- 奇数回では普通方向の再生、偶数回では逆方向の再生となって、アニメーションサイクルを繰り返す
■初期値・適用対象・値の継承
- 初期値
- normal
- 適用対象
- すべての要素、:before疑似要素、:after疑似要素
- 値の継承
- しない
■使用例
CSSソースは外部ファイル(sample.css)に記述
div.sample {
animation-name: anime1;
animation-duration: 5s;
animation-timing-function: ease;
animation-iteration-count: infinite;
animation-direction:alternate;
}
@keyframes anime1 {
0% {width: 50px; height: 50px; background-color: aqua;}
100% {width: 200px; height: 50px; background-color: blue;}
}
HTMLソース
<html>
<head>
<link rel=”stylesheet” href=”sample.css” type=”text/css”>
</head>
<body>
<div class=”sample”>animation効果のサンプル</div>
</body>
</html>
ブラウザ上の表示
■ベンダープレフィックスを付けた場合の使用例
CSSソースは外部ファイル(sample.css)に記述
div.prefix_sample {
-moz-animation-name: anime1;
-moz-animation-duration: 5s;
-moz-animation-timing-function: ease;
-moz-animation-iteration-count: infinite;
-moz-animation-direction:alternate;
-webkit-animation-name: anime1;
-webkit-animation-duration: 5s;
-webkit-animation-timing-function: ease;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction:alternate;
-o-animation-name: anime1;
-o-animation-duration: 5s;
-o-animation-timing-function: ease;
-o-animation-iteration-count: infinite;
-o-animation-direction:alternate;
-ms-animation-name: anime1;
-ms-animation-duration: 5s;
-ms-animation-timing-function: ease;
-ms-animation-iteration-count: infinite;
-ms-animation-direction:alternate;
}
@-moz-keyframes anime1 {
0% {width: 50px; height: 50px; background-color: aqua;}
100% {width: 200px; height: 50px; background-color: blue;}
}
@-webkit-keyframes anime1 {
0% {width: 50px; height: 50px; background-color: aqua;}
100% {width: 200px; height: 50px; background-color: blue;}
}
@-o-keyframes anime1 {
0% {width: 50px; height: 50px; background-color: aqua;}
100% {width: 200px; height: 50px; background-color: blue;}
}
@-ms-keyframes anime1 {
0% {width: 50px; height: 50px; background-color: aqua;}
100% {width: 200px; height: 50px; background-color: blue;}
}
HTMLソース
<html>
<head>
<link rel=”stylesheet” href=”sample.css”
type=”text/css”>
</head>
<body>
<div class=”prefix_sample”>animation効果のサンプル</div>
</body>
</html>
ブラウザ上の表示