1.动画效果
<template>
<div>
<button @click="show = !show">显示/隐藏</button>
<!-- appear 一开始播放进场动画 :appear="true" 简写 appear -->
<transition name="hello" appear>
<h1 v-show="show">你好啊</h1>
</transition>
</div>
</template>
<script>
export default {
name: "TestV1",
data() {
return {
show: true,
};
},
};
</script>
<style scoped>
h1 {
background-color: orange;
}
/* 给transition起了名字 那么 下面的类选择器 的名字也要随之替换 */
.hello-enter-active {
/* 1秒钟播放完毕 匀速 */
animation: atguigu 1s linear;
}
.hello-leave-active {
/* 反转 */
animation: atguigu 1s linear reverse;
}
.v-enter-active {
/* 1秒钟播放完毕 匀速 */
animation: atguigu 1s linear;
}
.v-leave-active {
/* 反转 */
animation: atguigu 1s linear reverse;
}
/* .come {
/* 1秒钟播放完毕 匀速 */
/* animation: atguigu 1s linear; */
/* } */
/* .go { */
/* 反转 */
/* animation: atguigu 1s linear reverse; */
/* } */
/* 动画定义 关键帧 */
/* 给动画起个名字 atguigu */
@keyframes atguigu {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0px);
}
}
</style>
2.使用过度去实现
<template>
<div>
<button @click="show = !show">显示/隐藏</button>
<!-- appear 一开始播放进场动画 :appear="true" 简写 appear -->
<transition name="hello" appear>
<h1 v-show="show">你好啊</h1>
</transition>
</div>
</template>
<script>
export default {
name: "TestV2",
data() {
return {
sh