你好,老师,关于transform位移过渡效果的问题
来源:4-4 过渡动画-css实现过渡(上)

慕娘6352887
2017-06-30
您的例子里,使用.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;} 设置的都是正数的位置,为何最后位移方向刚好是相反的。给我的感觉就好像是每一个过渡阶段坐标原点不一样了,而且连正负方向的定义也不一样了。
1回答
-
fishenal
2017-06-30
坐标原点都是左上角啊,默认值没动过。
这里的tranlate要配合vue提供的过渡阶段来看,my-trans-enter是动画进入的过程,从无到有的时候,这里的tranlsteY(-500px)标记的是,我从-500px的位置到0的位置,0就是进入,-500px就是从上部看不见的地方滑下来,到0;
my-trans-leave-active 是出去的过渡,是从0 到500, 500 在下面,当然就是从下滑出去。
042017-07-03
相似问题