Vue过渡动画

过渡动画

transition动画

transition是一个内置组件 一般包裹1个元素 可以通过transition来定义从透明度为0到透明度为1的动画,

也可以通过animation @keyframes

同时使用transition和animation 既有放大的效果又有透明度的变化

谁时间长 type就是谁

 <transition name="fade" type="transition">
      <h2 v-if="show" class="title">Hello world</h2>
    </transition>
过渡模式

有2个元素 在这2个元素之间切换

    <transition name="fade" mode="out-in">
      <h2 v-if="show" class="title">Hello world</h2>
      <h2 class="title" v-else>你好啊</h2>
    </transition>

结合第三方css库animate.css

在animate.css中定义好了样式

使用方法一

1.在官网中复制动画名字keyframes

2.结合transition的name,在style里设置animation的keyframes,时间和曲线

.fade-enter-active {
  animation: backOutDown 3s ease;
}
.fade-leave-active {
  animation: backOutDown 3s ease reverse;
}
<transition name="fade" appear>
      <h2 v-if="show" class="title">Hello world</h2>
    </transition>
使用方法二

通过自定义过渡动画类名

 <transition
      enter-active-class="animate__animated animate__pulse"
      leave-active-class="animate__animated animate__headShake"
    >
      <h2 v-if="show" class="title">Hello world</h2>
    </transition>

结合第三方js库gsap

通过JS来实现动画效果

transition组件给我们提供了JS钩子 即在xx阶段会调用的函数

    enter(el, done) {
      console.log("具体的动画");
      //   el就是target,拿到原来的元素,{}达到哪种默认状态
      gsap.from(el, {
        scale: 0,
        x: 100, //transform:translateX(100px)可在官网查看
        onComplete: done,
      });
    },

:css="false" 让css失效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值