CSS Keyframes 生成
@keyframes ルールはアニメーションの節目を定義します。要素が開始時・中間・終了時にどう見えるかです。このジェネレーターはよく使う4つの動き、フェードスライド、パルス、スピン、バウンスのルールを書きます。アニメーションに名前を付け、再生時間を設定し、スライドとバウンスでは移動距離をピクセルで指定します。出力は animation の省略記法と @keyframes ブロックで、スタイルシートに貼り付けるだけです。
Keyframes の生成手順
-
1
アニメーションの種類を選ぶ
フェードスライド、パルス、スピン、バウンス。各プリセットにフレームが用意されています。
-
2
アニメーションに名前を付ける
`fade-slide` のような kebab-case の名前を付け、あとで `animation` の省略記法で使います。
-
3
再生時間を設定する
秒単位で、素早いトランジションなら 0.6 など。
-
4
距離を設定する(スライドとバウンス)
垂直方向の移動に使うピクセル単位の距離。
-
5
CSSをコピーする
省略記法と `@keyframes` ブロックをスタイルシートへ。
4つのプリセット
フェードスライド
.animated {
animation: fade-slide 0.6s ease both;
}
@keyframes fade-slide {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}
要素が下からすべり上がりながらフェードインします。
パルス
@keyframes pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.05); opacity: .8; }
}
やわらかな脈動で、通知ドットやバッジに向きます。
スピン
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
1回転。ローダーやアイコンに便利です。
バウンス
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-24px); }
}
要素が跳ね上がって戻ります。
なぜ transform と opacity なのか
ブラウザは transform と opacity をレイアウト計算や再描画なしでGPU合成するため、アニメーションが滑らかに保たれます。プリセットはレイアウト計算を起こすプロパティを意図的に避けています。
animation の省略記法
animation: fade-slide 0.6s ease both; は「fade-slide という名前のアニメーション、0.6秒、デフォルトの ease イージング」という意味です。フィルモード both はアニメーション開始前に開始状態を適用し、終了後も終了状態を保つため、要素が開始前にチラついたり、動きのあと急に戻ったりしません。
命名のコツ
- CSS の慣習に合わせ kebab-case にします。
- 要素ではなく動きを表す名前を:
alert-appearよりfade-in-upが良いです。 - サードパーティのライブラリと衝突しそうな名前は避けましょう。
ブラウザ対応
@keyframes は普遍的な機能で、IE 10 以降のすべてのブラウザで動作します。
よくある質問
カード、バナー、ダイアログなどページに入るコンテンツにはフェードスライド。目立たせたい注意ドット、バッジ、ボタンにはパルス。ローダーや進捗アイコンにはスピン。CTA矢印のような遊び心のある強調にはバウンスです。
距離はスライドとバウンスのプリセットでの垂直移動ピクセル数です。フェードスライドは24px下から始まり上へすべり、バウンスは24px上に跳ねて戻ります。スピンでは使いません。
できます。出力は純粋なCSSです。ease を別のイージングキーワードや cubic-bezier(...) 値に置き換え、@keyframes ブロック内に 25% や 75% などの途中のパーセントを足して動きを調整してください。
フレームワークの再レンダリングがクラスを再適用してアニメーションを再開させるためです。animation-fill-mode: both(出力にすでに含まれています)で終了状態を保つか、アニメーションのトリガーを再レンダリングされる要素から切り離してください。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
HTML フォーマッター
ブラウザ内で HTML を 2 または 4 スペースで整形します。HTML はアップロードも検証もされません。
カラーパレットジェネレーター
基準のHEXカラーから、モノクロマティック、類似色、補色、トライアド、テトラードのパレットを生成し、コピーしやすいCSS変数として書き出します。
バイナリからASCIIへの変換ツール
バイナリ(スペース区切りのバイト、または長いビット列)を貼り付けると、それが表すASCIIテキストを8ビットずつ復号して取得できます。