Vue中transition过渡动画组件

概述

  • Vue 提供了 transition 的封装组件,可以给任何元素和组件添加进入/离开过渡。
    主要用于 v-show, v-ifrouter-view 的过渡动画;

过度类名

在进入/离开的过渡中,会有 6 个 class 切换。

  • v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。
  • v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。
  • v-enter-to:2.1.8 版及以上定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。
  • v-leave:定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。
  • v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
  • v-leave-to:2.1.8 版及以上定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-so0Shrmz-1659890727878)(/images/frontEnd/vue/img_2.png)]

name属性

  • 给transition组件设置不同的name, name名及class类名的前缀
<transition name="plus-icon">
      <div class="icon-plus"
           v-if="flag">
           <img />
      </div>
</transition>
/*过度后效果以本身class样式决定,*/
  .icon-plus {
      opacity: 1;
  }
  .plus-icon-enter-active{
    transition: all.5s;
  }
  .plus-icon-enter{
     opacity: 0;
  }
  .plus-icon-leave-active{
    transition: all.5s;
  }
  .plus-icon-leave-to{
    opacity: 0;
  }

css的transition属性

  • transition简介: css属性transition能让页面元素不是立即的、而是慢慢的从一种状态变成另外一种状态,
    从而表现出一种动画过程。根据开始状态和结束状态的具体数值,计算出中间状态。
  • transition属性语法: css属性transition能让页面元素不是立即的、而是慢慢的从一种状态变成另外一种状态,
    从而表现出一种动画过程。根据开始状态和结束状态的具体数值,计算出中间状态。
属性介绍
transition-property规定设置过渡效果的 CSS 属性的名称。例如, opacity,color。默认值是all。
transition-duration规定完成过渡效果需要多少秒或毫秒。例如,1s。默认值是0s。
transition-timing-function规定速度效果的速度曲线。例如, linear、 ease-in、steps动画分段函数或自定义的 cubic-bezier 函数)。默认值是ease,中间快,两头慢。
transition-delay定义过渡效果何时开始。例如,1s。默认值是0s。
  • 过度速度曲线:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pHyIyF5i-1659890727879)(/images/frontEnd/vue/img_3.png)]

  • 简写语法:

transition: property duration timing-function delay;
transition: opacity 1s linear 2s;

浏览器支持

  • Internet Explorer 10+
  • Firefox
  • Opera
  • Chrome
  • Internet Explorer 9 以及更早版本的浏览器不支持 transition 属性。

参考文章: https://juejin.cn/post/7038404182516187173

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值