要求:要通过Vue使用过渡动画我们要把需要过度的元素放在<transition name='变量名'></transition>中。

原理:通过在特定的时刻增加/移除样式实现。

一、Vue中的过度效果

1.未声明name,Vue默认添加/移除v-enter,v-leave-to,v-enter-active,v-leave-active来实现

v-enter决定元素在加入dom时的样式

v-enter-active决定样式执行状态

v-leave-to对应移除的

实例:为元素添加显示隐藏的过度效果

<style>
.v-enter,.v-leave-to{
opacity: 0;
}
.v-enter-active,.v-leave-active{
transition: opacity 1s;
}
</style>
</head>
<body>
<div id="app">
<transition>
<h3 v-if="show">Hi Boy</h3>
</transition>
<button @click="handleClick">DoIt</button>
</div>
</body>
<script> var app=new Vue({
el:'#app',
data:{
show:true
},
methods:{
handleClick:function(){
this.show=!this.show
}
}
})
</script>

2.如果声明了对应的name则可以改写为

css:

<style>
.fade-enter,.fade-leave-to{
opacity:;
}
.fade-enter-active,.fade-leave-active{
transition: opacity 1s;
}
</style>

html:

<div id="app">
<transition name="fade">
<h3 v-if="show">Hi Boy</h3>
</transition>
<button @click="handleClick">DoIt</button>
</div>

二、Vue中的动画效果

1.使用自定义动画

html不变,关键是css变为如下

@keyframes myfade{
from{opacity:}
to{opacity:}
}
.fade-enter-active{
animation: myfade 1s;
}
.fade-leave-active{
animation: myfade 1s reverse;
}

实现效果一样,此时我们用的动画,当然动画还有很多效果。

2.采用Animate.css库文件实现动画

使用库文件时我们需要知道除了通过那么调用的另一种调用方法

直接在class中自定义调用的样式

css:

@keyframes myfade{
from{opacity:}
to{opacity:}
}
.enter{
animation: myfade 1s;
}
.leave{
animation: myfade 1s reverse;
}

html:

<transition name="fade"
enter-active-class="enter"
leave-active-class="leave"
>
<h3 v-if="show">Hi Boy</h3>
</transition>

此时的enter和leave时我们完全自定义的样式名。

如果向调用animate.css库只需要改写html

如下:

<transition name="fade"
enter-active-class="animated bounce"
leave-active-class="animated bounce"
>
<h3 v-if="show">Hi Boy</h3>
</transition>

bounce未调用的动画名。提示前面必须加animated。

具体想要使用什么动画请看animate.css官网

提示:如果想要在页面初始化时播放动画需要添加appear和appear-active-class

<transition name="fade"
appear
enter-active-class="animated shake"
leave-active-class="animated bounce"
appear-active-class="animated shake"
>
<h3 v-if="show">Hi Boy</h3>
</transition>

三、过度效果和动画效果混用

例子如下:

<style>
@keyframes myfade{
from{opacity: 0}
to{opacity: 1}
}
.fade-enter,.fade-leave-to{
opacity: 0;
}
.fade-enter-active,.fade-leave-active{
transition: opacity 3s;
}
</style>
</head>
<body>
<div id="app">
<transition name="fade"
appear
enter-active-class="animated shake fade-enter-active"
leave-active-class="animated bounce fade-leave-active"
appear-active-class="animated shake"
>
<h3 v-if="show">Hi Boy</h3>
</transition>
<button @click="handleClick">DoIt</button>
</div>
</body>

警告:此时opacity过渡动画是3秒,animate.css动画未1秒,执行时间不统一。

解决方法:添加type属性如

type="transition" 以过度效果执行时间执行

type="animation"以动画效果执行时间执行

<transition name="fade" type="transition"
appear
enter-active-class="animated shake fade-enter-active"
leave-active-class="animated bounce fade-leave-active"
appear-active-class="animated shake"
>

2.自定义动画时间

:duration="时长(毫秒)"一般定义

:duration="{enter:1000,leave:2000}"//分别定义出场和入场时长

<transition name="fade" :duration="10000"
appear
enter-active-class="animated shake fade-enter-active"
leave-active-class="animated bounce fade-leave-active"
appear-active-class="animated shake"
>
<h3 v-if="show">Hi Boy</h3>
</transition>

Vue过渡动画—Vue学习笔记的更多相关文章

  1. (学习心路历程)Vue过渡/动画 VS. 过渡/动画

    [此篇为本人的个人见解和哔哔赖赖,如果有观点不对的地方,还请大家指出来哇!!] 最近实习在做一个项目,里面应用的动画效果还蛮复杂的,因为本身对Vue框架比较熟悉,所以最终选择了Vue框架. 自己之前从 ...

  2. Vue.js 源码学习笔记

    最近饶有兴致的又把最新版 Vue.js 的源码学习了一下,觉得真心不错,个人觉得 Vue.js 的代码非常之优雅而且精辟,作者本身可能无 (bu) 意 (xie) 提及这些.那么,就让我来吧:) 程序 ...

  3. vue过渡动画

    概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.c ...

  4. vue过渡动画效果

    1 过渡基础 1.1 过渡的方式 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果. 包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS ...

  5. vue过渡 & 动画---进入/离开 & 列表过渡

    (1)概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animat ...

  6. Vue过渡动画运用transition

    vue的过渡动画,主要是transition标签的使用,配合css动画实现的.官方文档css过渡 通过点击事件来切换show的值来改变显示的文本,下面的css通过进入离开时的在匀速状态下xxs(秒)下 ...

  7. Vue.js 第3章 axios&Vue过渡动画

    promise 它将我们从回调地狱中解脱出来 创建和使用 var fs = require('fs') // 创建promise // reslove表示执行成功后调用的回调函数 // reject表 ...

  8. vue 过渡 & 动画

    过渡 & 动画 过渡动画 用css先定义好动画效果 .a-enter-active, .a-leave-active { transition: all 1.5s; } .a-enter, . ...

  9. vue过渡动画样式

    在进入/离开的过渡中,会有 6 个 class 切换. v-enter:定义进入过渡的开始状态.在元素被插入之前生效,在元素被插入之后的下一帧移除. v-enter-active:定义进入过渡生效时的 ...

随机推荐

  1. jetbrains产品的一些使用技巧

    取消界限: 设置默认字符长度的准线,在图一中进行修改目前上限是1000 快捷键的使用: crtl+D:复制当前代码,获取多个类似内容的时候可以直接使用. crtl+F:查找代码中的内容,可以使用正则表 ...

  2. vue 开发系列(二) vue ajax 拦截

    概要说明 在开发的过程中,我们需要通过AJAX请求,访问后台获取数据,这个获取数据的时候,当然需要后台需要时登录状态才能访问数据,当没有登录的情况,这个时候我们需要跳转到登录界面进行登录. 如果每次请 ...

  3. Codeforces Round#415 Div.2

    A. Straight «A» 题面 Noora is a student of one famous high school. It's her final year in school - she ...

  4. 20155205 《Java程序设计》0510课上实践博客

    20155205 <Java程序设计>0510课上实践博客 一.教材代码检查-p98 未提交成功原因: 一开始在iterm中运行,但是结果出错,没有时间提交了.这个提交其实很简单,没有提交 ...

  5. 30条SQL查询优化原则

    在我们平常的SQL查询中,其实我们有许多应该注意的原则,以来实现SQL查询的优化,本文将为大家介绍30条查询优化原则. 首先应注意的原则 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 wher ...

  6. (动规 或 最短路)Help Jimmy(poj 1661)

    http://poj.org/problem?id=1661 Description "Help Jimmy" 是在下图所示的场景上完成的游戏. 场景中包括多个长度和高度各不相同的 ...

  7. Alpha阶段敏捷冲刺(二)

    1.提供当天站立式会议照片一张. 2.每个人的工作 (有work item 的ID),并将其记录在码云项目管理中: 昨天已完成的工作. 祁泽文:上网了解了艾宾浩斯遗忘曲线算法. 徐璐琳:找交互模块的源 ...

  8. Java方法、构造方法的重载;创建对象;调用方法

    方法的重载 概念:多个同名但是不同参数的方法称为方法的重载 作用:编译器会根据调用时传递的实际参数自动判断具体调用的是哪个重载方法 特点:方法名相同:同一作用域:参数不同:数量不同 类型不同 顺序不同 ...

  9. NameNode工作机制

    NameNode工作机制

  10. 4.css基础

    1 Css概念 CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表) Css是用来美化html标签的,相当于页面化妆. ◆样式表书写位置 2选择器 2.1 写法 选择器 ...