デザイン・Web制作

cubic-bezier エディタ (CSS イージング)

CSS cubic-bezier()をマウス・タッチ・数値入力で編集。29種のプリセット、アニメーションプレビュー、CSSコードコピーに対応。

登録不要

プリセット

29

カーブ編集

縦軸: 進行度横軸: 時間

P1
P2

CSS出力

CSS transitionプレビュー

使用例

.element {
  transition: all 1000ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

@keyframes slide {
  from { transform: translateX(0); }
  to   { transform: translateX(200px); }
}
.element {
  animation: slide 1000ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

cubic-bezier エディタ (CSS イージング)について

CSS cubic-bezier()とは

cubic-bezier()は、CSSのtransition-timing-functionanimation-timing-functionで使用されるイージング関数です。アニメーションの加速・減速のカーブを4つの数値(2つの制御点のx, y座標)で定義します。

W3CのCSS Easing Functions Level 1仕様で定義されており、easeease-inease-outease-in-outlinearといったキーワードはすべてcubic-bezier()の特定の値に対応しています。

制御点の意味

cubic-bezier()は4つの引数 cubic-bezier(x1, y1, x2, y2) を取ります。これらは3次ベジェ曲線の2つの制御点を表します。

パラメータ範囲説明
x10〜1第1制御点の時間軸位置
y1本ツールでは-1〜2第1制御点の進行度
x20〜1第2制御点の時間軸位置
y2本ツールでは-1〜2第2制御点の進行度

CSS仕様ではx値を0〜1に制限し、y値には構文上の範囲制限を設けていません。本ツールはカーブとハンドルを画面内で確認できるよう、y値の編集範囲を-1〜2に制限しています。負値では一時的に戻る動き、1を超える値では行き過ぎる動きを作れます。

CSSキーワードとの対応

キーワードcubic-bezier()値特徴
linearcubic-bezier(0, 0, 1, 1)等速
easecubic-bezier(0.25, 0.1, 0.25, 1)ゆっくり→速く→ゆっくり(デフォルト)
ease-incubic-bezier(0.42, 0, 1, 1)ゆっくり開始
ease-outcubic-bezier(0, 0, 0.58, 1)ゆっくり終了
ease-in-outcubic-bezier(0.42, 0, 0.58, 1)両端がゆっくり

イージングの選び方

  • UIの表示・登場: ease-out系。すばやく現れてゆっくり定位置に収まる自然な動き
  • UIの退場・非表示: ease-in系。ゆっくり動き出して加速して消える
  • 状態変化: ease-in-out系。色の変化やサイズ変更など、始終がなめらか
  • データの進捗: linear。プログレスバーなど等速が期待される場面
  • バウンス効果: easeOutBack (y2 > 1) で行き過ぎてから戻る動き

使い方

  1. 29種のプリセットから近い動きを選ぶ
  2. 赤いP1・青いP2ハンドルをマウスまたはタッチで動かすか、X・Y欄へ数値を入力する
  3. 再生時間を100〜5000msで設定し、アニメーションプレビューを確認する。再生中は「停止」で中断できる
  4. CSS出力をコピーし、transitionまたはanimationへ指定する

x値は0〜1、y値は-1〜2、再生時間は100ms単位です。入力、カーブ計算、プレビューはブラウザ内で行い、設定値をサーバーへ送信・保存しません。

よくある質問

Q. cubic-bezier()の値を手で覚える必要がありますか?
いいえ。CSS標準キーワード(ease, ease-in等)で十分な場合はそれを使い、カスタムカーブが必要な場合のみ本ツールで視覚的に調整してコピーすれば問題ありません。
Q. y値が0未満や1超でも問題ないですか?
CSS仕様ではy値に構文上の範囲制限はありません。本ツールでは表示と操作を安定させるため-1〜2に制限しています。y < 0では一時的に開始値より戻り、y > 1では終了値を行き過ぎる動きを作れます。
Q. transition と animation どちらで使えますか?
どちらでも使えます。transition-timing-function と animation-timing-function の両方で cubic-bezier() を指定できます。
Q. ブラウザ対応状況は?
cubic-bezier()はCSS Easing Functions Level 1で定義されています。実際の利用可否は対象ブラウザと必要なバージョンで確認してください。
このツールを評価
(0件)