"nuxt": "^3.8.0"
ページ遷移したときに、サイドバーやヘッダー、フッターなどはそのままでページの部分だけフェードのアニメーションをかけたいです。
まず、nuxt.config.tsに設定を追加します。
次に、<NuxtPage>を読み込むvueファイルでstyleをかけて調整します。
ヘッダーやフッターなど、フェードをかけたくない部分はlayoutsのファイルに記述するようにします。
pages内のファイルに書くとフェードされてしまいます。
docのままなのですが、nuxt.config.tsに以下のように追加します。
export default defineNuxtConfig({
app: {
pageTransition: { name: 'page', mode: 'out-in' }
},
})
<NuxtPage>を読み込むvueファイル内で<style>タグを以下のように設定してみましょう。
<style>
.page-enter-active,
.page-leave-active {
transition: all 0.1s;
}
.page-enter-from,
.page-leave-to {
opacity: 0;
}
</style>
これでページ遷移するときにフェードがかかるようになります。