<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS過渡動畫效果</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <style type="text/css"> /* * 顯示: * 第一幀添加v-enter、v-enter-active * 第二幀刪掉v-enter,添加v-enter-to(1) * 最後一幀,刪掉v-enter-active、v-enter-to * * 隱藏: * 第一幀添加v-leave(1)、v-leave-active * 第二幀刪掉v-leave,添加v-leave-to * 最後一幀,刪掉v-leave-active、v-leave-to */ .v-enter, .v-leave-to { opacity: 0; } .v-enter-active, .v-leave-active { transition: opacity 2s; } </style> </head> <body> <div id="root"> <transition> <div v-show="show">Harold</div> </transition> <transition><div v-if="show">Harold</div></transition> <button @click="handleBtnClick">change</button> </div> <script type="text/javascript"> var vm = new Vue({ el: '#root', data: { show: true }, methods: { handleBtnClick() { this.show = !this.show } } }) </script> </body> </html>