vue中怎样实现弹出层动画效果?由上而下渐渐显示
1
<template>
<div class="home">
<!-- 首先将要过渡的元素用transition包裹,并设置过渡的name -->
<transition name="mybox">
<div class="box" v-show="boxshow"></div>
</transition>
<button @click="togglebox">按钮</button>
</div>
</template>
2
data() {
return {
boxshow: false,
};
},
3
methods: {
togglebox: function () {
this.boxshow = !this.boxshow;
},
},
样式:
<style lang="scss" scoped>
.box {
height: 500px;
background-color: rgb(245, 224, 224);
overflow: hidden;
}
/* 给过渡的name加样式 */
.mybox-leave-active,
.mybox-enter-active {
transition: all 1s ease;
}
.mybox-leave-active,
.mybox-enter {
height: 0px !important;
}
.mybox-leave,
.mybox-enter-active {
height: 500px;
}
</style>
效果