N2
NanToo
AD
デザイン・Web制作

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

コピペで使えるCSS @keyframesアニメ32種。fadeIn・bounce・pulse・shake・spin・tadaなど定番を全網羅。カテゴリ別(注目・登場・退場・ループ・ホバー・特殊)に整理。再生時間・イージング調整可。

カテゴリー

プリセット (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

背景グラデーションが流れる(要 background-size: 200% 200%)

タイピング風
typing

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

カーソル点滅
blink

テキストカーソル風の点滅

持ち上がる
lift

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

傾き
tilt

わずかに傾くホバー効果

光る
glow

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

下線スイープ
underlineSweep

下線が左から右へ伸びる(::afterで使用推奨)

ゼリー揺れ
jello

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

ゴム
rubberBand

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

ジャジャーン
tada

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

ぶらんこ
swing

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

AD

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

CSSアニメーションとは

CSSアニメーションは、CSSの@keyframes規則とanimationプロパティを使って、JavaScriptなしで要素に動きを付ける仕組みです。2012年にCSS Animations Level 1仕様が策定されて以来、すべての主要ブラウザでサポートされています。

本ツールは32種類の実用的なアニメーションを即座にコピペで使える形で提供します。すべてAnimate.css風の命名で、エンジニア・デザイナーに馴染みやすい設計です。

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

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

@keyframesの基本構造

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

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

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

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.my-element {
  animation: fadeIn 0.6s ease-out forwards;
}

イージング(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のみを使ったアニメーションはGPUで処理され軽快です。top/left/width/heightなどレイアウトを変更するプロパティは避け、translateX/Y・scale・rotateで表現しましょう。本ツールのプリセットはすべてGPU友好的なプロパティ中心で設計されています。
Q. prefers-reduced-motionに対応するには?
アクセシビリティ向上のため、ユーザーが「動きを減らす」設定をしている場合はアニメーションを無効化すべきです。@media (prefers-reduced-motion: reduce) { * { animation: none !important; } } を追加するのが簡単な対処法です。本ツール出力のCSSにも手動で追加してください。
Q. 登場アニメーションの後、要素が元の状態に戻ってしまいます
animation-fill-modeプロパティをforwardsに設定してください。デフォルトのnoneだとアニメ終了後に初期状態へ戻ります。本ツールの登場/退場系プリセットは自動的にforwardsが付与されます。
Q. 複数のアニメーションを組み合わせるには?
animationプロパティはカンマ区切りで複数指定できます。例: animation: fadeIn 0.5s ease-out, pulse 2s infinite 0.5s; のように書きます。ただし同じプロパティを複数のアニメで変化させると後のものが勝つため、transformは1つにまとめる工夫が必要です。

出典・参考文献

このツールを評価
(0件)