Vue 动画

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值