Vue 和 Vuetify 动画内容跳转
Vue and Vuetify Animation Content Jump
当 Vue 动画结束时,内容 "jumps" 备份,如您在此示例中所见:
https://codepen.io/propsoft/pen/PRYjBZ
<transition name="slide-y-transition">
<div v-show="compare">
Here is the hidden {{ content }}
</div>
</transition name="slide-y-transition">
关于如何解决这个问题有什么想法吗?
干杯!
动画的问题在于它使用了 transform: translateY(-15px);
,这只会导致内容的视觉翻译,但 div 仍然占用相同的 space。解决这个问题的一种方法是为其他属性设置动画,例如 height
。这样做的缺点是 div 需要有一个固定的高度,这在所有情况下都是不可能的。
您可以在不设置任何动画的情况下测试不同的方法,看看是什么导致下面的 div 实际移位与否。然后你可以制作动画。
使用 height
查看此 Codepen 示例动画:https://codepen.io/noeldemartin/pen/ommxZG
当 Vue 动画结束时,内容 "jumps" 备份,如您在此示例中所见:
https://codepen.io/propsoft/pen/PRYjBZ
<transition name="slide-y-transition">
<div v-show="compare">
Here is the hidden {{ content }}
</div>
</transition name="slide-y-transition">
关于如何解决这个问题有什么想法吗?
干杯!
动画的问题在于它使用了 transform: translateY(-15px);
,这只会导致内容的视觉翻译,但 div 仍然占用相同的 space。解决这个问题的一种方法是为其他属性设置动画,例如 height
。这样做的缺点是 div 需要有一个固定的高度,这在所有情况下都是不可能的。
您可以在不设置任何动画的情况下测试不同的方法,看看是什么导致下面的 div 实际移位与否。然后你可以制作动画。
使用 height
查看此 Codepen 示例动画:https://codepen.io/noeldemartin/pen/ommxZG