VUE基础知识——过渡与动画

目录

官网图示

过渡&动画

过渡中的6个切换

具体操作

元素进入的样式

元素离开的样式

如何使用

示例

html代码

js代码

css代码


官网图示

过渡&动画

他是用来在我们对页面进行插入、移除或者更新DOM元素的时候,为我们添加一下动画效果的样式。

过渡中的6个切换

下面是官网对于过渡6个类的定义:

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

  1. v-enter:定义了进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

  2. v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

  3. v-enter-to2.1.8 版及以上定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。

  4. v-leave:定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。

  5. v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

  6. v-leave-to2.1.8 版及以上定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

对于这些在过渡中切换的类名来说,如果你使用一个没有名字的 <transition>,则 v- 是这些类名的默认前缀。如果你使用了 <transition name="my-transition">,那么 v-enter 会替换为 my-transition-enter

v-enter-active 和 v-leave-active 可以控制进入/离开过渡的不同的缓和曲线,在下面章节会有个示例说明。

具体操作

元素进入的样式

1、v-enter:进入的起点位置

2、v-enter-active:进入的过程中

3、v-enter-to:进入的终点位置

元素离开的样式

1、v-leave:离开的起点位置

2、v-leave-active:离开的过程中

3、v-leave-to:离开的终点位置

如何使用

使用<transition>标签保过这要过渡的元素,并且要配置其name属性

<transition name=“hello”>

        <h2 v-show="isShow">Hello!</h2>

</transition>

注意:

如果要有多个元素进行过渡的时候,那么就需要使用<transition-group>标签来实现了,并且每个元素都需要指定他的一个key值,就像我们for循环列表中指定的key一样。

动画和过渡还是有区别的, 动画的时候,只需要我们使用上面的进入和离开元素的第二个即可。

示例

html代码

<div id="app">
        <button @click="show = !show">
        点击实现过渡效果
</button>
<transition name="slide-fade">
        <p v-if="isShow">hello</p>
</transition>
</div>

js代码

new Vue({
  el: '#app',
  data: {
    isShow: true
  }
})

css代码

/* 设置持续时间和动画函数 */

/* 可以设置不同的进入和离开动画 */
.slide-fade-enter-active {
transition: all .3s ease;
}
.slide-fade-leave-active {
transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.slide-fade-enter, .slide-fade-leave-to
/* .slide-fade-leave-active for below version 2.1.8 */ {
transform: translateX(10px);
opacity: 0;
}

好了,今天关于过渡&动画的内容就到这里。

欢迎大家点击下方卡片,关注《coder练习生》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ybb_ymm

你的鼓励会是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值