您的例子里,使用.my-trans-enter{transform:translateY(-500px);}效果是从屏幕上方向下位移500px到元素起始位置。使用.my-trans-leave-active{transform:translateY(500px);}效果是从元素起始位置向下位移500px。我看了W3c网站的一个例子http://www.w3school.com.cn/tiy/c.asp?f=css_transform_translate后,对您的代码不理解。W3C的这个例子很明显是有个坐标远点的,负数和正数的位移是相反方向的。但是您这里实际上都是一个向下的方向?这是为何?另外vue官方文档的例子.slide-fade-enter, .slide-fade-leave-active {transform: translateX(10px);opacity: 0;} 设置的都是正数的位置,为何最后位移方向刚好是相反的。给我的感觉就好像是每一个过渡阶段坐标原点不一样了,而且连正负方向的定义也不一样了。