黄子涵

过渡模式

这里还有一个问题,请看下面的按钮:

image

在“on”按钮和“off”按钮的过渡中,两个按钮都被重绘了,一个离开过渡的时候另一个开始进入过渡。这是 <transition> 的默认行为 - 进入和离开同时发生。

image

在元素绝对定位在彼此之上的时候运行正常:

然后,我们加上 translate 让它们运动像滑动过渡:

image

同时生效的进入和离开的过渡不能满足所有要求,所以 Vue 提供了过渡模式

  • in-out:新元素先进行过渡,完成之后当前元素过渡离开。
  • out-in:当前元素先进行过渡,完成之后新元素过渡进入。

out-in 重写之前的开关按钮过渡:

<transition name="fade" mode="out-in">
  <!-- ... the buttons ... -->
</transition>

image

只用添加一个简单的 attribute,就解决了之前的过渡问题而无需任何额外的代码。

in-out 模式不是经常用到,但对于一些稍微不同的过渡效果还是有用的。将之前滑动淡出的例子结合:

image

posted @ 2022-06-06 09:31  黄子涵  阅读(67)  评论(0编辑  收藏  举报