cubic-bezierジェネレーターの使い方
1. プリセットを選択する
まずは、作りたい動きに近いプリセットを選択します。
CSS標準のEase・Ease In・Ease Out・Ease In Outなどに加え、Expo系やBack系の特徴的な動きも用意しています。
プリセットを選択すると、カーブ・制御点・アニメーションプレビューにすぐ反映されます。
2. 制御点を調整する
カーブエディター上の2つの制御点をドラッグして、イージング曲線を調整します。
X1・Y1・X2・Y2の値を直接入力して、細かく調整することもできます。
グラフの横軸は時間の進行、縦軸はアニメーションの進行度を表しています。
3. アニメーションで動きを確認する
「再生」ボタンを押すと、現在の設定を実際のアニメーションで確認できます。
「比較するイージング」を選択すると、現在の設定とLinear・Easeなどの動きを同時に再生して、違いを比較できます。
再生時間は100〜5000msの範囲で変更でき、速いアニメーションとゆっくりしたアニメーションの両方で動きを確認できます。
4. 生成された値をコピーする
調整した内容からcubic-bezier()の値が自動生成されます。
「Value」「Transition」「Animation」のタブから用途に合う形式を選び、「コピーする」ボタンでコードをコピーして、ご自身のプロジェクトに適用してください。
設定を最初の状態に戻す場合は、「リセット」ボタンを使用します。
cubic-bezierとは?
cubic-bezier()は、CSSのアニメーションやトランジションにおける速度変化を細かく指定できるイージング関数です。
一定速度で動かすだけでなく、「ゆっくり動き始めて徐々に加速する」「勢いよく動き始めて最後にゆっくり止まる」といった動きを作ることができます。
cubic-bezier()は、以下の4つの値で指定します。
cubic-bezier(x1, y1, x2, y2)たとえばCSS標準のeaseは、次の値で表されます。
cubic-bezier(0.25, 0.1, 0.25, 1)曲線には、開始点P0・制御点P1・制御点P2・終了点P3の4つのポイントがあります。
開始点P0は(0, 0)、終了点P3は(1, 1)に固定されているため、実際に調整するのはP1とP2の座標です。
- P1 =
(x1, y1) - P2 =
(x2, y2)
X軸は時間の進行、Y軸はアニメーションの進行度を表します。
X1・X2は0〜1の範囲で指定する必要がありますが、Y1・Y2には負の値や1を超える値も指定できます。
Y値を0〜1の範囲外にすると、開始位置とは逆方向へ動いたり、終了位置を一時的に行き過ぎて戻ったりする動きを作れます。
FAQ
cubic-bezier()はどこで使えますか?
transition-timing-functionとanimation-timing-functionです。 transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);transitionやanimationのショートハンド内に指定することもできます。 X1・X2を0〜1以外の値にできますか?
X1・X2は必ず0〜1の範囲で指定する必要があります。範囲外の値を指定すると、有効な
cubic-bezier()として扱われません。このジェネレーターでは、範囲外の入力を0〜1の範囲に収めます。 Y1・Y2は0〜1を超えても問題ありませんか?
Y1・Y2には負の値や1を超える値も指定できます。1を超える値を指定すると終了位置を一時的に行き過ぎる動き、負の値を指定すると開始位置とは逆方向へ一度動いてから進むような動きを作れます。
Ease・Ease In・Ease Out・Ease In Outの違いは何ですか?
Ease:ゆっくり始まり、途中で加速して、最後にゆっくり止まります。Ease In:ゆっくり始まり、徐々に加速します。Ease Out:速く始まり、最後に向かって減速します。Ease In Out:ゆっくり始まり、途中で加速し、最後に再び減速します。Linear:最初から最後まで一定の速度で進みます。
Back OutやEase Out ExpoなどはCSSの標準イージングですか?
linear・ease・ease-in・ease-out・ease-in-outなどです。BackやExpoなどは、特徴的な動きを表すために広く使われているカスタムイージングの名称です。このジェネレーターでは、それらを
cubic-bezier()のプリセットとして利用できます。 再生時間を変更するとcubic-bezier()の値も変わりますか?
cubic-bezier()は「その時間の中でどのように加速・減速するか」を指定します。同じ
cubic-bezier()でも再生時間によって動きの印象が変わるため、実際の使用時間に近い設定で確認するのがおすすめです。 cubic-bezier()でバウンドするアニメーションを作れますか?
ただし、ボールが何度も跳ねるような複数回のバウンドを、1つの
cubic-bezier()だけで作ることはできません。複雑なバウンドアニメーションには@keyframesなどを組み合わせる必要があります。 作成したcubic-bezier()はtransitionとanimationの両方に使えますか?
transitionとanimationのどちらでも使用できます。ただし、
cubic-bezier()が指定するのは動きの緩急のみです。アニメーションするプロパティや時間、開始・終了状態などは別途指定する必要があります。 グラフのX軸とY軸は何を表していますか?
(0, 0)がアニメーション開始時点、(1, 1)が終了時点です。曲線の形によって、途中の時間でアニメーションがどこまで進んでいるかが変化します。 アニメーションが開始位置や終了位置を一時的に超えるのはなぜですか?
Y1またはY2に0未満や1を超える値が設定されているためです。このような値では進行度が一時的に開始値や終了値を超えます。意図しない場合は、
Y1・Y2を0〜1の範囲に近づけて調整してください。 cubic-bezier()は主要ブラウザで使用できますか?
cubic-bezier()は現在の主要ブラウザで広く利用でき、通常のWebサイトやWebアプリのトランジション・アニメーションで使用できます。このジェネレーターだけでCSSアニメーション全体を作れますか?
cubic-bezier()の作成に特化したツールです。アニメーションさせる要素・プロパティ・再生時間・開始状態・終了状態などは、別途CSSで設定する必要があります。
どのイージングを使えばよいか分かりません
Ease Out系、画面から退出する動きにはEase In系、位置を移動するアニメーションにはEase In Out系が使いやすい傾向があります。アニメーションプレビューで確認し、必要に応じて制御点を微調整してください。



