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>
效果