You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js v-show搭配transition淡入失效淡出正常问题求助

问题根因

你使用的是Vue3(引入的vue@next为Vue3版本),但过渡CSS类混用了Vue2的语法,导致进入动画的初始状态未生效。

具体错误点

  • Vue3的进入阶段起始状态类名为[name]-enter-from,而非Vue2的[name]-enter,你写的.slide-fade-enter类Vue3无法识别,元素进入时初始透明度就是1,没有渐变过程
  • 过渡属性仅配置了opacity的过渡规则,未包含transform,就算类生效也不会有位移动画
  • 不需要给slide-fade-enter-from加transition属性,过渡规则仅需要配置在*-enter-active和*-leave-active类上即可

修复方案

将你的过渡CSS替换为以下代码即可:

/*Vue JS CSS Components*/
.slide-fade-enter-active,
.slide-fade-leave-active {
    transition: all 0.5s ease;
}

.slide-fade-enter-from,
.slide-fade-leave-to {
    transform: translateX(10px);
    opacity: 0;
}

你之前退出动画正常是因为slide-fade-leave-to类的命名符合Vue3规范,所以只有进入动画异常,替换后淡入淡出加位移动画都会正常生效。

内容的提问来源于stack exchange,提问作者Eric Conklin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 09:06:01