项目问题:在项目中想实现一个的是图片的过度效果,本来想做从左到右逐渐显示的效果的,但是一直实现不了,降低要求,直接实现一个透明度从0到1的过程,使用的是$ref,但是在实现的过程中,发现将图片设置为opacity,还是会占据空间,造成我下面的组件的功能不能实现。
比如说在图片下覆盖的按钮,就不能点击了,但是display对transition没有作用,而且display性能相对于opacity比较好,这个时候,发现了vue的transition,太好用了。。。。
直接贴个博主链接,可以去看详细使用vue中transition标签如何使用_小炮兵快跑的博客-优快云博客_vue中transition用法
我的项目中是通过鼠标在img1移入时显示图片img2和移出时隐藏图片img2
<img :src="sliderurl[0]" alt="" @mouseenter="handleenter" class="img1" @mouseleave="handleleave"/>
<transition name="fade">
<img :src="sliderurl[1]" alt="" ref="showimg" class="img2" v-show='show' />
</transition>
// script代码
methods: {
handleenter() {
this.show = true
},
handleleave() {
this.show = false
}
}
// css样式
.fade-enter-active,.fade-leave-active{
transition: opacity 2s ease;
}
.fade-enter, .fade-leave-to{
opacity: 0;
}
.fade-enter-to, .fade-leave {
opacity: 1;
}