Nuxt页面切换时过渡动画不生效是怎么回事?

辽源🍀 阅读 52

我在 Nuxt 3 项目里给页面加了 transition,但切换路由时完全没看到动画效果,好像直接跳转了。明明在 pages/index.vue 里写了 definePageMeta({ pageTransition: 'slide' }),也写了对应的 CSS 动画类。

试过把 transition 名字改成默认的 page,还是不行。控制台也没报错,就是静悄悄地切换。是不是还要在 app.vue 里额外配置什么?

.slide-enter-active,
.slide-leave-active {
  transition: all 0.5s ease;
}
.slide-enter-from {
  opacity: 0;
  transform: translateX(100px);
}
.slide-leave-to {
  opacity: 0;
  transform: translateX(-100px);
}
我来解答 赞 7 收藏
二维码
手机扫码查看
1 条解答
程序猿士轩
我之前也遇到过,Nuxt 里 pageTransition 要生效得在 app.vue 里用 包一下,并且确保没在 里又嵌套 。你贴的 CSS 是对的,但检查下 app.vue 是否是这样写的:

<template>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
</template>


如果用了自定义 layout,记得 layout 里也得有
点赞 3
2026-02-24 06:02