vue过渡和动画

过渡

例子

<template>
  <div>
    动画组件
    <button @click="isshow = !isshow">显示隐藏</button>
    <transition name="fade">//用transition标签包起来,加上name用来指定过渡
      <p v-show="isshow">动画</p>
    </transition>
  </div>
</template>
<script>
export default {
  data() {
    return {
      isshow: true,
    };
  },
};
</script>
<style lang="less" scoped>
.fade-enter-active, .fade-leave-active {
  transition: opacity .5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}
</style>

过渡的类名有六个
v-enter:过渡的开始状态(从无)

v-enter-active:定义进入过渡生效时的状态,这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

v-enter-to:过渡的结束状态。(到有)

v-leave:离开过渡的开始状态。(从有)

v-leave-active:定义离开过渡生效时的状态,这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

v-leave-to:离开过渡的结束状态。(到无)

可以结合在一起

.fade-enter, .fade-leave-to {
  opacity: 0;
}
.v-leave, .v-enter-to {
  opacity: 1;
}
.fade-enter-active, .fade-leave-active {
  transition: opacity .5s;
}

在这里插入图片描述

动画

和过渡一个道理

.fade-enter-active {
  animation: fade-in .5s;
}
.fade-leave-active {
  animation: fade-in .5s reverse;
}
@keyframes fade-in {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}

或者使用动画库
https://www.swiper.com.cn/usage/animate/index.html

//引入的swiper动画库
<link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">
<template>
  <div>
    动画组件
    <button @click="isshow = !isshow">显示隐藏</button>
    <transition
      name="custom-classes-transition"
      enter-active-class="animated tada"//第二个参数是需要的动画效果
      leave-active-class="animated bounceOutRight"//第二个参数是需要的动画效果
    >
      <p v-show="isshow">动画</p>
    </transition>
  </div>
</template>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值