view-transition-name は、ブラウザネイティブの View Transitions API をトリガーするためのプロパティです。2つの状態間(画面遷移前後、要素の表示/非表示など)で、まるでネイティブアプリのような滑らかな「モーフィングアニメーション」を、JavaScript をほとんど書かずに実現できます。
【仕組み】
① document.startViewTransition() が呼ばれると(または @view-transition at-rule で自動化されると)、ブラウザは現在の画面を静止画(スナップショット)として保持します。
② DOMを新しい状態に更新します。
③ ブラウザは「古いスナップショット」から「新しい画面」へのアニメーションを自動生成します。
④ view-transition-name が付いた要素は、古い位置から新しい位置へとモーフィングします。
【2種類のView Transition】
・同一文書内(Same-document):SPA での画面切り替え、要素の表示/非表示など。document.startViewTransition() が必要。
・クロスドキュメント(Cross-document):通常のページ遷移(aタグでの画面遷移)をアニメーション化。@view-transition { navigation: auto; } のみで有効化できる(Chrome 126以降)。
従来は FLIP テクニックや複雑なJSライブラリで実装していた演出が、数行のCSSで実現できる革命的な機能です。