基於vue展開收起動畫

有一段時間沒用vue動畫了,就忘了,又仔細去看了vue官網 的過渡&動畫,記錄下來方便快速使用 (可以多看vue官網 過渡&動畫 實現更多效果)

1、實際效果

展開收起效果.gif

2、代碼

<!--css-->
.box{
    height:200px;width: 200px;
    background-color:black;
}
.draw-enter-active, .draw-leave-active {
    transition: all 1s ease;
}
.draw-enter, .draw-leave-to /* .fade-leave-active below version 2.1.8 */ {
    height: 0;
}

<div id="app">
    <button @click="boxshow = !boxshow">點擊展開/關閉</button>
    <transition name="draw">   <!--這裏的name 和 css 類名第一個字段要一樣-->
        <div class="box"  v-show="boxshow"></div>
    </transition>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script>
    new Vue({
        el:'#app',
        data:{
            boxshow:false
        },
    });
</script>

如果在box內嵌套其他元素,嵌套的內容不會跟隨動畫收起/展開,而是1s後display:none掉,
加了一個overflow:hidden 可以解決

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章