株式会社オートプロジェクト

たった1つ囲むだけ。View Transitions APIで滑らかな画面遷移を実装

たった1つ囲むだけ。View Transitions APIで滑らかな画面遷移を実装

画面切り替えにアニメーションを付けたいとき、

  • CSSでアニメーションを設定
  • transform で移動や拡大を制御
  • JavaScriptで表示切り替え

…と、意外とやることが多くなりがちです。
特に、

  • 一覧 → 詳細
  • サムネイル → 拡大表示
  • カード → モーダル

のように、要素の位置やサイズが大きく変わるUIは、調整が少し大変です。
そんなとき便利なのが、『View Transitions API』 です。

View Transitions APIは何をしてくれるの?

画面の切り替え自体は、JavaScriptだけでもできます。
View Transitions APIが便利なのは、変更前と変更後を自然なアニメーションでつないでくれることです。

使い方はシンプルで、画面を書き換える処理を document.startViewTransition()で囲むだけ。

document.startViewTransition(() => { detail.classList.add("show"); });

たったこれだけで、ブラウザが変更前と変更後を比較し、間の動きを自動で補間してくれます。
つまり、

  •  JavaScript → 何を表示するか
  • View Transitions API → どう見せるか

という役割です。
今回は、カード一覧から詳細表示へ切り替えるサンプルで試してみます。
まずはこちらのデモの画像を押してみてください。

ポイント

  • cssでview-transition-name: product-image;と一覧側と詳細側の画像に同じ名前を付けることで、ブラウザが「同じ要素」と認識し、拡大や移動を自然につないでくれます。
  • jsで、document.startViewTransition(() => を使うことで、通常なら一瞬で切り替わる表示も、これで滑らかな画面遷移になります。

まとめ

View Transitions APIは、切り替えを自然に見せたいUIで特に効果を発揮します。

特に、

  •  一覧 → 詳細
  • サムネイル → 拡大
  • カード → フル表示

のようなUIで効果を発揮します。

少ないコードで実装できるのが大きな魅力ですね。

Webデザイナー / コーダーのみなさまへ

株式会社オートプロジェクトでは、バックエンド全般を安心してお任せいただけます。

サーバー設定やDB管理、セキュリティ対策など幅広いニーズに対応いたします。お気軽にご相談ください。

バックエンドについて、オートプロジェクトに問い合わせをする

Contact ご相談・お問い合わせ

実現の可否や概算費用、納期に関するご質問・ご相談も、
どうぞご遠慮なくお問い合わせください。

TOP