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

  • Post author:
  • Post category:vue



目录


官网图示


过渡&动画


过渡中的6个切换


具体操作


元素进入的样式


元素离开的样式


如何使用


示例


html代码


js代码


css代码


官网图示

过渡&动画

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

过渡中的6个切换

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

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


  1. v-enter

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


  2. v-enter-active

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


  3. v-enter-to



    2.1.8 版及以上

    定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时

    v-enter

    被移除),在过渡/动画完成之后移除。


  4. v-leave

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


  5. v-leave-active

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


  6. v-leave-to



    2.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练习生》



版权声明:本文为ybb_ymm原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。