TAILWIND

Tailwind CSSでアニメーション — animate・transition・group/peer

Tailwind CSS はユーティリティクラスを組み合わせるだけで、アニメーションも素早く実装できます。animate-pulse のような組み込みアニメーション、transition + hover: の状態変化、そして group / peer による親子・兄弟連動まで。本ガイドでは Tailwind のアニメーション機能を体系的に解説します。

組み込みアニメーション animate-*

Tailwind には animate-spin(回転)animate-ping(波紋)animate-pulse(明滅)animate-bounce(跳ね)が標準搭載されています。クラスを付けるだけで動きます。

: ローディングスピナーは animate-spin、通知の波紋は animate-ping、スケルトンは animate-pulse

実装デモ:Tailwind Pulse SkeletonTailwind Pulse CTA

transition + hover: で状態変化

transition を付け、hover:scale-105 hover:shadow-lg などの状態クラスを足すだけで滑らかなホバーが完成します。duration-200 ease-out で速度・イージングも調整可能。

: グラデーションCTAは bg-gradient-to-r from-pink-500 to-purple-500 transition hover:scale-105

実装デモ:Tailwind Gradient Button

group / group-hover — 親ホバーで子を制御

親要素に group、子要素に group-hover:opacity-100 を付けると、親にホバーしたとき子要素を動かせます。画像にホバーしてキャプションを出すギャラリーカードの定番。

実装デモ:Tailwind Group Hover Card

peer / peer-checked — 兄弟要素の状態を参照

フォーム入力の状態に応じて隣の要素を変えるのが peer。チェックボックスに peer、隣の要素に peer-checked:bg-pink-600 を付ければ、JS なしでトグルスイッチが作れます。

実装デモ:Tailwind Toggle

カスタムアニメーションの追加

標準にない動きは tailwind.config.jstheme.extend.keyframesanimation に定義して animate-{名前} で使えます。

プロジェクト共通のブランドアニメーションはここに集約すると管理しやすくなります。

FAQ

Tailwind だけで複雑なアニメは作れる?
状態変化・組み込みアニメ・stagger 風の遅延までは可能です。スクロール連動やマウス追従など JS が必要な動きは、Tailwind でスタイルを当てつつ JS や Framer Motion を併用します。
animate-ping と animate-pulse の違いは?
ping は scale(2) しながらフェードアウトする波紋、pulse は opacity を緩やかに上下させる明滅です。前者はアテンション、後者はローディングに向きます。
Tailwind CDN と PostCSS どちらを使う?
本番は PostCSS / CLI でビルドし未使用クラスを削除するのが基本です。CDN は試作・デモ用途向けで、グローバルな preflight 注入に注意が必要です。
transition が効かないときは?
transition 対象のプロパティと初期値が指定されているか確認してください。hidden→表示の切替は transition できないため、opacity や transform で表現します。