View Transitions を試してみたので雑感
リポジトリ: https://github.com/yuheijotaki/astro-view-transitions
GitHub Pages: https://yuheijotaki.github.io/astro-view-transitions/
<ViewTransitions />
をインポートして <head>
内へ追加。
デフォルトはこれのみだが、個別に指定する場合はディレクティブを使っていく。
transition:name
ページ内でユニークな名前を付与することで前後ページでの置き換え要素を特定する。(前後ページのHTMLで共通の名前を与える)
<img transition:name="image01" />
投稿などの動的要素はindexやslugをを使ってユニークにする。
例えば記事ページ下部に表示する「最新の投稿」などは自身を外す等、何かしら工夫が必要。
transition:animate
'fade'
, 'initial'
, 'slide'
, 'none'
が指定可能。
アニメーションのカスタマイズ も可能。
transition:persist
ページ間でコンポーネントとHTML要素を保持するために指定する。
<video autoplay transition:persist></video>
この場合ナビゲーションが発生しても video は再生が継続される。
astro:after-swap
イベントを使用する。