アニメーションを最初から最後まで同じ速度で再生します:
div {
-webkit-animation-timing-function: linear; /* Chrome, Safari,
Opera */
animation-timing-function: linear;
}
Try it Yourself ❯
他の "Try it Yourself" 例が下にあります。
animation-timing-function プロパティは、アニメーションの速度曲線を指定します。
速度曲線は、或る CSS スタイルのセットから他に変更するために使用するアニメーションの時間を定義します。
速度曲線は、変化を滑らかにするために使用します。
デフォルト値: | ease |
---|---|
継承: | 継承する |
アニメーション可否: | 不可。animatable を参照 |
バージョン: | CSS3 |
JavaScript 構文: | object.style.animationTimingFunction="linear" Try it |
表中の数字は、完全にプロパティをサポートした最初のブラウザのバージョンです。
-webkit-、-moz-、-o- の後に続く数字は、接頭辞付きで動作した最初のバージョンです。
プロパティ | |||||
---|---|---|---|---|---|
animation-timing-function | 43.0 4.0 -webkit- |
10.0 | 16.0 5.0 -moz- |
9.0 4.0 -webkit- |
30.0 15.0 -webkit- 12.0 -o- |
animation-timing-function: linear|ease|ease-in|ease-out|ease-in-out|step-start|step-end|steps(int,start|end)|cubic-bezier(n,n,n,n)|initial|inherit;
animation-timing-function は、速度曲線を作成するために、3 次ベジエ曲線と呼ばれる数学関数を使用しています。
この関数には、独自の値を使用するか、または定義済み値のいずれかを使用できます:
値 | 説明 | Play it |
---|---|---|
linear | アニメーションは最初から最後まで同じ速度です | Play it ❯ |
ease | デフォルト値。アニメーションは、ゆっくり始まり、次に速く、終了前にはゆっくりになります | slowlyPlay it ❯ |
ease-in | アニメーションはゆっくり始まります | Play it ❯ |
ease-out | アニメーションはゆっくり終ります | Play it ❯ |
ease-in-out | アニメーションは、ゆっくり始まり、ゆっくり終ります | Play it ❯ |
step-start | steps(1, start) に同じ | |
step-end | steps(1, end) に同じ | |
steps(int,start|end) | 2 つのパラメータを持つステップ関数を指定します。最初のパラメータは、関数のインターバルの数を指定します。 これは、正の整数でなければなりません(0 より大きい)。 オプションである 2 番目のパラメータは、 値が "start" か "end" かのいずれかで、インターバル内で値の変化が発生するポイントを指定します。2 番目のパラメータが省略された場合、"end" が 設定されます | |
cubic-bezier(n,n,n,n) | 3 次ベジエ関数に独自の値を定義します 可能な値は 0 ~1 の数値です |
|
initial | プロパティにデフォルト値を設定します。initial を参照 | |
inherit | このプロパティは親要素を継承します。inherit を参照 |
チップ: 下の Try it Yourself で、いろいろな値を試してみてください。
各種タイミング関数の値をよりよく理解するために:
ここに、5 つの異なる値を持つ 5 種類の <div> 要素があります:
/* For Chrome, Safari and Opera */
#div1 {-webkit-animation-timing-function: linear;}
#div2 {-webkit-animation-timing-function: ease;}
#div3 {-webkit-animation-timing-function: ease-in;}
#div4 {-webkit-animation-timing-function: ease-out;}
#div5 {-webkit-animation-timing-function: ease-in-out;}
/* Standard
syntax */
#div1 {animation-timing-function: linear;}
#div2 {animation-timing-function: ease;}
#div3 {animation-timing-function: ease-in;}
#div4 {animation-timing-function: ease-out;}
#div5 {animation-timing-function: ease-in-out;}
Try it Yourself ❯
上の例と同じですが、速度曲線は 3 次ベジエ関数で定義されています:
/* For Chrome, Safari and Opera */
#div1 {-webkit-animation-timing-function: cubic-bezier(0,0,1,1);}
#div2 {-webkit-animation-timing-function: cubic-bezier(0.25,0.1,0.25,1);}
#div3 {-webkit-animation-timing-function: cubic-bezier(0.42,0,1,1);}
#div4 {-webkit-animation-timing-function: cubic-bezier(0,0,0.58,1);}
#div5 {-webkit-animation-timing-function: cubic-bezier(0.42,0,0.58,1);}
/* Standard syntax */
#div1 {animation-timing-function: cubic-bezier(0,0,1,1);}
#div2 {animation-timing-function: cubic-bezier(0.25,0.1,0.25,1);}
#div3 {animation-timing-function: cubic-bezier(0.42,0,1,1);}
#div4 {animation-timing-function: cubic-bezier(0,0,0.58,1);}
#div5 {animation-timing-function: cubic-bezier(0.42,0,0.58,1);}
Try it Yourself ❯
CSS3 チュートリアル:CSS3 Animations
HTML DOM リファレンス:animationTimingFunction プロパティ