Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。包括以下工具: - 在 CSS 过渡和动画中自动应用 class
- 可以配合使用第三方 CSS 动画库,如 Animate.css
- 在过渡钩子函数中使用 JavaScript 直接操作 DOM
- 可以配合使用第三方 JavaScript 动画库,如 Velocity.js
注意:Vue目前仅仅提供,CSS过渡 进入/离开,官方提供了6种CSS的 class的切换,如果需要实现炫酷的效果,必须自己写CSS,官方也推荐Animate.css,Velocity.js 第三方UI库,
在实际开发过程中,UI的特效 往往主流IDE集成的UI比较丰富,效果也够我们使用.
在进入/离开的过渡中,会有 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。

实现一个渐变消失显示的简单案列:
CSS
[C++] 纯文本查看 复制代码 /* 渐变消失 */
.fade-leave {
opacity: 0;
}
.fade-leave-active {
color: rgb(221, 9, 9);
}
.fade-leave-to {
transition: opacity 4s;
}
/* 渐变显示 */
.fade-enter {
opacity: 0;
}
.fade-enter-active {
color: rgb(153, 0, 255);
}
.fade-enter-to {
transition: opacity 4s;
}
p {
font-size: 50px;
}
html
[C++] 纯文本查看 复制代码 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
<link rel="stylesheet" href="./1.css">
</head>
<body>
<div id="app">
<input type="button" value="渐变" @click="cl">
<input type="button" value="渐变" @click="cl">
<transition name="fade">
<p v-if="show" >111</p>
</transition>
</div>
</body>
<script>
var app = new Vue({
el: '#app',
data: {
show: true,
},
methods: {
cl: function () {
this.show = !this.show;
}
}
})
</script>
</html>
|