目录
官网图示
过渡&动画
他是用来在我们对页面进行插入、移除或者更新DOM元素的时候,为我们添加一下动画效果的样式。
过渡中的6个切换
下面是官网对于过渡6个类的定义:
在进入/离开的过渡中,会有 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
被删除),在过渡/动画完成之后移除。
对于这些在过渡中切换的类名来说,如果你使用一个没有名字的
<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练习生》