CSS @starting-style サンプル

各デモを操作して動作を確認してください

← 記事に戻る

実例1: モーダルの表示アニメーション

display: none → display: flex のトランジション

@starting-style で初期値(opacity: 0, scale: 0.85)を定義し、transition-behavior: allow-discrete で display のトランジションを有効化しています。

実例2: ページ読み込み時のフェードイン

transition-delay で順番にフェードイン

@starting-style はページ読み込み時にも機能します。各カードに transition-delay を設定して、順番にフェードインさせています。ページをリロードすると再度アニメーションが見られます。

🚀

パフォーマンス

GPUアクセラレーション対応

🎨

カスタマイズ

CSSだけで自在にコントロール

アクセシビリティ

prefers-reduced-motion対応

📦

ゼロ依存

ライブラリ不要、CSSネイティブ

実例3: popover との組み合わせ

popover属性 + @starting-style

HTML の popover 属性は内部的に display: none で制御されるため、@starting-style との相性が抜群です。開閉ともにスムーズなアニメーションが付きます。

@starting-style × popover

このポップオーバーは開くときにスケールアップしながらフェードイン、閉じるときはその逆のアニメーションが適用されます。

overlay のトランジションも含めて、トップレイヤーからの退出もスムーズです。

外側をクリックするかEscキーで閉じます。開閉どちらもアニメーション付きです。
実例4: 動的に追加される要素

DOM挿入時のエントリーアニメーション

@starting-style は要素がDOMに挿入されるたびに発火します。リストに項目を追加すると、左からスライドインします。