AI

CSSアニメーション AIプロンプト例文集 — そのまま使える指示文テンプレ

AI にアニメーションを実装させるとき、毎回ゼロから指示文を考える必要はありません。実装内容・制約・受け入れ条件の3ブロックという型がひとつあれば、あとはカテゴリごとに埋める中身が変わるだけです。このページでは汎用テンプレートと、12カテゴリ別の指示文の勘所を、実装済みエフェクトへのリンクとあわせてまとめます。各エフェクトの詳細ページには、そのエフェクト専用に書かれたプロンプト全文が置いてあります。

まず覚える汎用テンプレート

どのカテゴリでも共通で使える骨格です。埋める場所は4つだけ。対象ファイル、実装内容、使う技術、数値。

PROMPT — 汎用テンプレート
対象: <ファイルパスをここに書く>

実装内容:
<何を、どの要素に、どう動かすかを2〜3行で>

制約:
- <使う技術(CSS のみ / Vanilla JS / GSAP など)>
- 動かすのは transform と opacity のみ
- prefers-reduced-motion: reduce で無効化する

受け入れ条件:
- reduce 設定でアニメーションが止まる
- コンソールエラーがゼロ
- レイアウトシフトがゼロ

受け入れ条件の3行はそのまま固定で構いません。prefers-reduced-motion 対応・コンソールエラーゼロ・レイアウトシフトゼロは、どんなアニメーションにも当てはまる最低条件です。この3行があるだけで出戻りが目に見えて減ります。

HOVER — ホバー演出

指定すべき数値は移動距離・duration・イージングの3つ。「浮き上がる」だけでは 2px か 8px かが決まりません。margin ではなく transform: translateY で動かすことを制約に入れます。

実装例:Magnetic HoverTilt 3D HoverSpotlight HoverUnderline Slide Hover

SCROLL — スクロール連動

「いつ発火するか」を必ず数値で書きます。ビューポートに何%入ったら、何px手前から。実装手段は IntersectionObserver と指定し、scroll イベントでの毎フレーム処理を禁じます。戻りスクロールで消える/消えないの挙動も明記します。

実装例:Scroll TriggerGSAP Scroll RevealParallax ScrollSticky Sections

TEXT — テキストアニメーション

1文字ずつ動かす場合は、分割方法とスペースの扱いを指定します。指定しないと単語が改行位置で分断されます。日本語なら「文字単位で分割し、aria-label に元の文字列を残す」と書くとスクリーンリーダー対応まで入ります。

実装例:TypewriterGradient TextScramble TextWord Pull Up

LOADING — ローディング表示

唯一 linear イージングが正解になるカテゴリです。回転や往復は等速のほうが自然に見えます。あわせて「読み込み完了時にどう消えるか」まで書かないと、要素が残り続ける実装になりがちです。

実装例:SpinnerSkeleton LoaderProgress RingDots Pulse

TRANSITION — 画面遷移

遷移は出ていく側と入ってくる側の時間差が命です。「前の画面を 200ms でフェードアウト、100ms 待ってから次を 300ms でフェードイン」のように、順序と待ち時間を書きます。書かないと両方が同時に animate して一瞬白くなります。

実装例:Page Fade TransitionView Transition APICurtain RevealZoom Blur Transition

MICRO — マイクロインタラクション

操作に対する反応なので、速さが正義です。120〜240ms を明示します。加えて「押している間」「離した後」「無効状態」の3つの状態を書き分けさせると、実務で使える品質になります。

実装例:Toggle SwitchLike BurstCheckbox AnimationStar Rating

CURSOR — カーソル追従

パフォーマンス制約が最重要のカテゴリです。「mousemove のリスナは document に1つだけ」「座標の反映は requestAnimationFrame 内で」「タッチデバイスでは無効化」の3点を必ず制約に入れます。

実装例:Custom CursorCursor TrailCursor Glow FollowCursor Spotlight Reveal

BUTTON — ボタン演出

クリック可能に見えることが目的なので、ホバーと押下を必ずセットで頼みます。片方だけだと「動くけど押した気がしない」ボタンになります。フォーカスリングを消させない一文も入れておくとキーボード操作が壊れません。

実装例:Ripple EffectShine SweepLiquid ButtonButton 3D Press

CARD — カード表現

カードは並ぶものなので、1枚の指定とグリッド全体の指定を分けて書きます。ホバーで拡大させる場合は「隣接カードを押しのけない(transform のみ)」を制約に入れます。

実装例:Glassmorphism CardBorder BeamBento GridCard Spotlight

MODAL — モーダル・ドロワー

見た目より挙動の指定が要ります。背景スクロールの固定、Esc キーで閉じる、開いた時のフォーカス移動、閉じた時のフォーカス復帰。この4つを受け入れ条件に書くと、実務で差し戻されないモーダルになります。

実装例:Modal FadeModal Scale BlurSlide DrawerBottom Sheet

BACKGROUND — 背景演出

前面のテキストが読めることが最優先です。「コントラスト比 4.5:1 を下回らない」を受け入れ条件に入れます。また filter: blur() の値そのものをアニメーションさせない制約も必須。重さの主因になります。

実装例:Aurora BackgroundMesh GradientParticle FieldAnimated Grid Background

SVG — SVGアニメーション

stroke-dasharray を使う線描画では、パスの全長を実測して渡すか、JS で getTotalLength() を使わせます。決め打ちの数値だと図形を変えた瞬間に崩れます。viewBox を変更させないことも制約に入れます。

実装例:SVG Line DrawSVG Signature DrawSVG GaugeWave Divider

各エフェクトページには専用プロンプトが置いてある

上記は「カテゴリごとに何を書くか」の指針です。実際に使うときは、エフェクト一覧 から目的の動きを選び、詳細ページの AI PROMPT パネルをそのままコピーするのが最短です。全103エフェクトぶん、個別に書き下ろしたプロンプトが置いてあります。

コピーしたプロンプトの冒頭に「対象: <実ファイルのパス>」を1行足せば、そのままエージェントに投げられます。ツール別の使い方は Claude Code 編Cursor(AIコードエディタ)編 を参照してください。

制約と受け入れ条件は毎回書かず、リポジトリの規約ファイルへ逃がすのが定石です。コピーして使える全文は CLAUDE.md / .cursorrules 規約テンプレート にあります。

FAQ

プロンプトは日本語と英語どちらがいいですか?
どちらでも実装できます。CSSプロパティ名や数値が指示の中心なので、言語よりも数値と制約が具体的かどうかで精度が決まります。当サイトのエフェクトページには英語のプロンプトを用意しています。
受け入れ条件の3行は本当に毎回必要ですか?
毎回書くのが確実ですが、CLAUDE.md や Rules ファイルに一度書いておけば省略できます。省略した場合、prefers-reduced-motion 対応はほぼ入らないと考えてください。
生成されたコードが既存のデザインから浮きます
既存ファイルを参照させ、色や duration を既存の値に合わせるよう指示してください。新しいCSS変数を追加しない、という制約も有効です。
複数のエフェクトを一度に頼んでもいいですか?
おすすめしません。差分が大きくなりレビューできなくなります。1回の指示は1つの要素・1つのファイル群に絞るほうが結果的に速く仕上がります。