最近使用したツールはありません
お気に入りはまだありません

CSS Animation ジェネレーター - ビジュアルキーフレーム

197 回使用

コツ

パフォーマンス
60fpsにはtransformとopacity
時間
UI操作は0.2秒~1秒
イージング
入場にease-out、退場にease-in
控えめ
少ないほどプロフェッショナル
A11y
prefers-reduced-motionを尊重

よくある質問

Q 生成したアニメーションでページの表示速度が遅くなりますか?
A 基本的には心配いりません。CSSアニメーションはメインスレッドではなくGPUで処理されるため、JavaScriptベースの方法よりはるかに効率的です。キーフレーム5つで構成される@keyframesブロック1つなら、ファイルサイズは約200バイト増えるだけ。同じ動きを5KBのjQueryプラグインで再現するのと比べてください。数十の複雑なアニメーションを同時に動かさない限り、パフォーマンスへの影響はほとんどありません。実用的なアドバイス: モバイル端末ではbox-shadowやfilterのアニメーションは避けましょう。それらは今でも重い再描画を引き起こします。
Q ブラウザのプレビューでアニメーションがカクカクするのはなぜですか?
A 原因はほぼ、間違ったプロパティをアニメーションさせていることです。transformとopacityだけ使いましょう。これらはGPUで処理され、60fpsを維持できます。widthやheight、marginをアニメーションすると、毎フレームレイアウト計算が走り、カクつきます。当ツールは初期設定でtransformとopacityのみ生成するよう設計されています。確認方法:DevToolsのPerformanceタブを開き、数秒録画。紫色のLayoutバーが表示されたら、それが滑らかさを損なう原因です。
Q ダーク背景でアニメーションをプレビューする方法はありますか?
A プレビューパネルの色見本をクリックしてください。白、ライトグレー、ダークグレー、黒に切り替わります。クライアントが暗いヒーローセクションで使うか分からないフリーランス開発者には必須です。コツ:両極端でテストしましょう。白で綺麗な微妙なパルスが、不透明度を10%しか動かさないと黒で完全に見えなくなります。
Q 生成したアニメーションを複数の要素に同時に使えますか?
A もちろんです。アニメーションさせたいすべての要素に同じCSSクラスを適用するだけです。各要素は独立してアニメーションを実行するので、変な同期の問題は起きません。タイミングをずらしたい場合は、各要素に0.1秒、0.2秒、0.3秒といったanimation-delayを追加してください。このジェネレーターは自動では対応しませんが、エディターでCSSカスタムプロパティを使うか、ループ処理で一括設定できます。
Q スクロール演出に、わざわざ専用アニメーションライブラリって必要?
A 正直、大半のライブラリはやりたいことに対して過剰です。このジェネレーターが出すのは、@keyframesブロック1つと発火用のクラスだけ。そこにIntersection Observerを10行足せば、30KBの依存ライブラリが不要になります。実際、スクロールアニメーションを40個載せたサイトなら、vanilla CSS+Observerの方が、スクロールイベントを毎回監視するフレームワークより明らかに速いです。試しにbounceプリセットをエクスポートしてobserverを付け、DevToolsでロード時間を測ってみてください。一般的なライブラリより、1ページあたり約25KBの節約になりますよ。
Q コードを重複させずに、同じキーフレームを異なるイージングカーブで再利用できますか?
A 可能です。ただし手動で分割する必要があります。プリセットを選び、@keyframesブロックを一度コピーしてください。各バリエーションに対して、同じキーフレーム名を参照しつつ、独自のanimation-timing-functionを宣言するクラスを作ります。例えばcubic-bezier(0.68, -0.55, 0.265, 1.55)でバネのようなオーバーシュート表現ができます。これでファイルが軽量に保てます。コツ:当ツールはタイミング関数をインラインで出力するので、先にそれを削除し、クラスごとに上書きしてください。
Q 生成されたCSSはSassやLESSのようなプリプロセッサで使えますか?
A 使えます。エクスポートされるコードは標準的な有効なCSSなので、そのままどのプリプロセッサのファイルにも入ります。Sassプロジェクトでは、生成されたクラスを親セレクタの中にネストできますが、@keyframesは必ずルートレベルに置いてください。プリプロセッサはネストしたキーフレームを苦手とします。出力全体をmixinに包む開発者もいますが、動いてもデバッグが厄介です。おすすめの流れ:一度エクスポートして_animations.scssのようなパーシャルとして保存し、必要な箇所で@useする。これで一元管理できます。
Q CSSアニメーションによるスマホのバッテリー消費
A キーフレームが多すぎると、スマートフォンのバッテリーを急速に消耗します。複雑なエフェクトをループさせるとモバイルGPUに過度な負荷がかかります。アニメーションは2秒以内に収め、ハードウェアアクセラレーションを活用してください。ボタンが1つ脈動する程度ならCPU負荷は1%未満です。
Q バックエンドAPIデータとジェネレーターコードの連携
A バックエンド開発者は、APIデータがDOMに反映されたタイミングでアニメーションを動的に発火させたい場面によく遭遇します。当ツールの出力する標準CSSクラスは、fetchリクエストの解決直後にJavaScriptで要素へ付与できます。例えば10件のユーザープロフィールを描画した後、各カードに `.fade-in` クラスを追加してみてください。データロジックと表現スタイルを完全に分離できます。即座に視覚的フィードバックを得るため、クラスの追加処理をPromiseのコールバック内に記述するのがコツです。
Q 作成したアニメーションのコードが外部サーバーに保存される心配はありますか?
A コードはブラウザのローカルストレージ内で処理されるため外部に送信されません。作成したキーフレームを当社が収集したり保存したりすることは一切ありません。アカウント登録不要で使えるため、独自のクライアント案件でも安心して利用できます。開発者ツールのネットワークタブを開けば、データが外部へ一切流出していないことを確認できます。

使い方

関連ツール