デザイン・Web制作

CSSアニメーション集(@keyframes)

CSS @keyframesアニメ32種をカテゴリ別に選択し、再生時間・遅延・イージング・繰り返しを調整。ホバーとキーボード操作、動き軽減に対応したCSS・HTML例を生成。

登録不要

カテゴリー

プリセット (32個)

カードへポインターを重ねるか、カード内へキーボードフォーカスを移すとプレビューします。

横揺れ
shake

左右に素早く揺れて注意を引く

鼓動
pulse

優しく拡大縮小するパルス

跳ねる
bounce

上下に弾むような動き

ぐらぐら
wobble

横移動と回転を組み合わせた揺れ

心臓の鼓動
heartBeat

ドクンドクンと2回脈打つ

点滅
flash

明滅する点滅アニメーション

ふわっと表示
fadeIn

透明度0から徐々に表示

下から浮上
fadeInUp

下方向から浮き上がりながら表示

上から降下
fadeInDown

上方向から降りて表示

左からスライド
slideInLeft

左側からスライドインして表示

右からスライド
slideInRight

右側からスライドインして表示

ズームイン
zoomIn

拡大しながら表示

回転しながら登場
rotateIn

回転しながらフェードイン

X軸フリップ
flipInX

X軸で反転しながら登場

フェードアウト
fadeOut

透明度1から徐々に消える

右へスライド退場
slideOutRight

右側にスライドしながら消える

ズームアウト
zoomOut

縮小しながら消える

Y軸フリップ退場
flipOutY

Y軸で反転しながら消える

くるくる回転
spin

360度の連続回転(ローディング用)

ふわふわ浮遊
float

上下にゆっくりと浮遊

呼吸
breathe

ゆっくりと拡大縮小する呼吸

グラデ流れ
gradient

背景グラデーションが左右へ流れる

タイピング風
typing

タイプライター風のステップアニメ(widthで使用)

持ち上がる
lift

浮き上がって影が強くなる(:hover時に使用)

傾き
tilt

わずかに傾くホバー効果

光る
glow

box-shadowで発光するエフェクト

下線スイープ
underlineSweep

疑似要素の下線が左から右へ伸びる

ゼリー揺れ
jello

ゼリーのようにプルプル揺れる

ゴム
rubberBand

ゴムのように伸び縮みする

ジャジャーン
tada

ジャジャーンと登場する派手な効果

ぶらんこ
swing

上端を軸にぶらぶら揺れる

CSSアニメーション集(@keyframes)について

CSSアニメーションとは

CSSアニメーションは、CSSの@keyframes規則とanimationプロパティを使って、要素の算出値を時間に沿って変化させる仕組みです。再生時間、遅延、繰り返し、イージングをCSSで指定できます。

本ツールは32種類のプリセットをCSSとHTML使用例として生成します。生成CSSはkeyframe名へnantoo-接頭辞を付け、prefers-reduced-motion: reduceでは動きを停止します。退場は非表示、下線はホバー・キーボードフォーカス時に表示するため、動きを減らしても機能上の最終状態は維持します。

カテゴリ別アニメーション

カテゴリ用途主なプリセット
注目喚起ユーザーの注意を引くshake, pulse, bounce, wobble, heartBeat, flash
登場要素を表示する時fadeIn, fadeInUp, slideInLeft, zoomIn, rotateIn, flipInX
退場要素を隠す時fadeOut, slideOutRight, zoomOut, flipOutY
ループ継続的に動き続けるspin, float, breathe, gradient, typing, blink
ホバー:hoverと:focus-visibleで開始lift, tilt, glow, underlineSweep
特殊インパクト重視jello, rubberBand, tada, swing

@keyframesの基本構造

CSSアニメーションは2つの要素で構成されます。

  1. @keyframes ブロック: アニメーションの中身(0%・50%・100%などで各時点の状態を定義)
  2. animation プロパティ: 要素に適用するアニメーション名・再生時間・イージングなど

例えばfadeInの場合、以下のようなコードになります:

@keyframes nantoo-fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.fadeIn {
  animation: nantoo-fadeIn 0.6s ease-out 1 both;
}
@media (prefers-reduced-motion: reduce) {
  .fadeIn { animation: none !important; }
}

イージング(timing-function)の選び方

  • linear: 等速。機械的な動き、ローディング回転などに
  • ease: デフォルト。滑らかな標準的な動き
  • ease-in: ゆっくり始まる。退場系に合う
  • ease-out: ゆっくり終わる。登場系でよく使われる
  • ease-in-out: 両端ゆっくり。ループ系に自然
  • cubic-bezier(0.68, -0.55, 0.27, 1.55): 反動付き(バウンス感)。tada、bounceなど
  • steps(n): 段階的変化。タイピング風、カーソル点滅に

よくある質問

Q. アニメーションがスマホで重たく感じます。最適化方法は?
transformやopacityはレイアウトを変更するwidth等より効率的になりやすい一方、実際の処理方法と負荷はブラウザ、端末、要素サイズ、影や背景などの組み合わせで変わります。実機の開発者ツールで描画とフレーム時間を計測し、同時に動かす要素数を抑えてください。typingはwidth、gradientはbackground-positionを変更します。
Q. prefers-reduced-motionに対応するには?
本ツールの生成CSSには、対象classまたは疑似要素だけをanimation: noneにするprefers-reduced-motion: reduce規則を含めています。退場は即座に非表示、下線はホバー・キーボードフォーカス時に即座に表示し、動きを止めても機能上の状態を保ちます。ページ全体を一律停止せず、ツール内プレビューも同じ利用者設定を尊重します。
Q. 登場アニメーションの後、要素が元の状態に戻ってしまいます
animation-fill-modeを設定してください。デフォルトのnoneでは終了後に元へ戻ります。本ツールは登場系へbothを付けて遅延中の開始状態と終了後の最終状態を保ち、退場系へforwardsを付けて終了後の非表示状態を保ちます。
Q. 複数のアニメーションを組み合わせるには?
animationプロパティはカンマ区切りで複数指定できます。例: animation: fadeIn 0.5s ease-out, pulse 2s infinite 0.5s; のように書きます。ただし同じプロパティを複数のアニメで変化させると後のものが勝つため、transformは1つにまとめる工夫が必要です。
このツールを評価
(0件)