css有鼠标移入移出(hover)的动画效果很方便给,但没有鼠标点击的动画效果,vue中有一个transition-group标签能够实现这一功能。
//注意需要加上key
<div class="lyric-btn" @click="lyric()">词</div>
<transition-group name="lyric">
<div class="lyric-plate" v-if="isLyric" :key="1">qwe</div>
</transition-group>
//js
data() {
return {
isLyric: false,
};
},
methods: {
lyric() {
this.isLyric = !this.isLyric;
console.log(this.isLyric);
},
}
//css
<style scoped>
//需要实现的动画效果就加在css中
.lyric-enter,
.lyric-leave-to {
opacity: 0;
transform: translateY(10px);
}
.lyric-enter-to,
.lyric-leave {
opacity: 1;
}
.lyric-enter-active,
.lyric-leave-active {
transition: all 0.5s;
}
</style>