🎬 CSS アニメーション ジェネレーター

CSSアニメーションをビジュアルに作成できます。キーフレームごとにプロパティを設定し、リアルタイムプレビューで確認しながらコードを生成します。

使い方・活用例

  • プリセットから基本アニメーションを選んでカスタマイズする
  • キーフレームごとにtransform・opacity・colorを細かく調整する
  • ボタンのホバーエフェクトやローディングアニメーションに活用
  • ページ読み込み時のフェードイン・スライドイン演出に使う

CSS アニメーション ジェネレーターとは

CSSアニメーションは、JavaScriptなしでスムーズな動きを実装できる標準機能です。このツールはキーフレーム編集やタイミング関数(ease-in、ease-out など)の詳細設定をビジュアルに行え、コード生成できるため、複雑なアニメーション作成が手軽になります。

使い方ガイド

・アニメーション名を入力(例:fadeIn、slideUp)
・キーフレーム(0%, 50%, 100%)でプロパティ値を設定
・duration(再生時間)と delay(遅延時間)を指定
・animation-timing-function(ease、linear、cubic-bezier など)を選択
・direction(normal、reverse、alternate)と iteration-count(繰り返し回数)で挙動を調整
・プレビューで動作確認後、CSSコードをコピー

活用シーン

・ページロード時のフェードイン・スライドイン効果で視覚的なインパクトを演出
・ホバー時のボタンアニメーション(拡大、色変化、回転など)
・ローディングスピナーやプログレスバーの連続アニメーション
・テキストやアイコンの強調表示(パルス、バウンド、グロー効果)

知っておきたいポイント

アニメーション性能はブラウザの描画キャッシュ機構に依存します。transform(translate、rotate、scale)と opacity は GPU加速対象で高速ですが、width や left などのプロパティは重く、フレームレート低下を招きます。重要なアニメーションは transform と opacity に絞ることで、モバイルでもスムーズな動作が実現できます。

よくある質問

CSSアニメーションとは何ですか?

CSSアニメーションは、@keyframesルールとanimationプロパティを使って、HTML要素にアニメーション効果を適用する仕組みです。JavaScriptを使わずにスムーズなアニメーションを実現できます。

キーフレームはどのように設定しますか?

タイムラインの各キーフレーム(0%、25%、50%、75%、100%)を選択し、transform(移動・回転・拡大)、opacity、background-colorを個別に設定できます。変更はリアルタイムでプレビューに反映されます。

プリセットアニメーションはありますか?

fade-in、slide-in、bounce、pulse、shake、spin、flipの7種類のプリセットを用意しています。プリセットを選択後、キーフレームを自由にカスタマイズすることも可能です。

timing-functionとは何ですか?

timing-function(イージング関数)はアニメーションの速度変化を制御します。ease(開始・終了が緩やか)、linear(等速)、ease-in(開始が緩やか)、ease-out(終了が緩やか)、ease-in-out(両端が緩やか)から選べます。

animation-fill-modeとは何ですか?

fill-modeはアニメーション前後の要素の状態を制御します。noneは元に戻り、forwardsは最終状態を維持、backwardsは開始前に初期状態を適用、bothはforwardsとbackwardsの両方を適用します。

生成したコードはどう使いますか?

「CSSをコピー」ボタンでクリップボードにコピーし、CSSファイルに@keyframesルールとanimationプロパティを貼り付けて使用します。対象の要素に.animated-elementクラスを付与するか、animationプロパティを直接指定してください。

キーフレームの中間ステップを追加できますか?

はい、キーフレームは`0%`、`25%`、`50%`、`75%`、`100%`など任意の百分率で設定できます。多くの中間ステップを追加することで、より複雑で滑らかなアニメーションが実現できます。

timing-functionの種類と活用方法は?

`linear`は一定速度、`ease-in`は加速、`ease-out`は減速、`cubic-bezier()`はカスタム速度曲線です。例えば物理的な跳ねるアニメーションには`cubic-bezier(0.68, -0.55, 0.265, 1.55)`などが適切です。

複数のアニメーションを同じ要素に適用できますか?

はい、`animation`プロパティをカンマで区切って複数指定できます。例えば`animation: slideIn 1s, fadeIn 2s`と記述することで、複数のアニメーションを同時実行できます。

アニメーション開始を遅延させることはできますか?

はい、`animation-delay`プロパティで遅延時間を指定できます。例えば`animation-delay: 0.5s`とすると、アニメーション開始前に0.5秒待機します。複数アニメーション実行時は、それぞれ異なる遅延を設定可能です。

パフォーマンス最適化のコツは?

`transform`と`opacity`のみをアニメーション対象にすると、ブラウザが最適化してパフォーマンスが向上します。`width`や`height`のアニメーションはレイアウト再計算が発生するため避けるべきです。

アニメーションを途中で停止・リセットするには?

JavaScriptで`element.style.animationPlayState = 'paused'`として一時停止、`'running'`で再開できます。リセットする場合は、クラスの追加・削除でアニメーション定義を切り替える方法が有効です。