这篇文章主要为大家详细介绍了分析vue2.0 transition 多个元素嵌套使用过渡,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
在做vue的demo的时候遇到一个问题,多个嵌套的元素如何设置transition?
我的代码:
代码如下:
<div id='demo'>
<button @click="show = !show">按钮</button>
<transition name='move'>
<div class="v-d" v-show="show">
<div class='in in_move'></div>
</div>
</transition>
</div>
代码如下:
//css
.v-d{
width:50px;
height:50px;
padding:10px;
transition: all 0.4s linear
}
.v-d .in{
width:30px;
height:30px;
background:#000;
transition: all 0.4s linear
}
.move-enter-active, .move-leave-active{
transition: all 0.4s linear
}
.move-enter, .move-leave-active{
opacity: 0;
transform: translateX(30px);
}
.move-enter, .move-leave-active .in{
transform: rotate(45deg)
}
代码如下:
//js
window.onload = function(){
new Vue({
el: '#demo',
data: {
show: false
}
})
}
运行代码后发现这个类名的过渡:
代码如下:
.move-enter, .move-leave-active .in{
transform: rotate(180deg)
}
没起作用,我开始以为这种嵌套的写法不支持,但是后来经过多次尝试后发现,原来transition 应用的类名不能和基本样的类名一样,也就是.in这个类必须换名才能起作用,所以在改动下面代码:
代码如下:
<transition name='move'>
<div class="v-d">
<div class='in in_move'></div>
</div>
</transition>
.move-enter, .move-leave-active .in_move{
transform: rotate(180deg)
}
改完运行就ok了,实现了元素旋转和位移。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持四海网。
本文来自:http://www.q1010.com/184/3386-0.html
注:关于分析vue2.0 transition 多个元素嵌套使用过渡的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:vue.js
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。