概述

Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。包括以下工具:

在 CSS 过渡和动画中自动应用 class

可以配合使用第三方 CSS 动画库,如 Animate.css

在过渡钩子函数中使用 JavaScript 直接操作 DOM

可以配合使用第三方 JavaScript 动画库,如 Velocity.js

css实现过渡

<transition></transition>这个标签是vue的内置组件,可以直接使用,将需要动画的元素包裹在内,但是实现效果还是得靠css样式来实现,具体动画是这么样的实在哎css样式中写,vue只是提供了这么个框架

其中name属性可以任意起名,但是需要跟css中的类名前面的第一个单词匹配

过渡的类名:xxx-enter-active: 指定显示的transition,xxx-leave-active: 指定隐藏的transition,xxx-enter: 指定隐藏时的样式

css实现过渡动画的简单示例一:当点击按钮切换的时候,css有个这样的切换过程

第一个样式是指定过渡样式,第二个样式是指定隐藏时的样式

<template>
<div id="app">
<button @click="show = !show">Toggle</button>
<transition name="fade">
<p v-show="show">i am show</p>
</transition>
</div>
</template> <script>
export default {
name: 'app',
data () {
return {
show: true
}
}
}
</script>
<style>
.fade-enter-active, .fade-leave-active{
transition: opacity 1s;
}
.fade-enter, .fade-leave-to{
opacity: 0;
}
</style>

css实现过渡动画的简单示例二

<template>
<div id="app">
<button @click="show = !show">Toggle</button>
<transition name="fade">
<p v-show="show">i am show</p>
</transition>
</div>
</template> <script>
export default {
name: 'app',
data () {
return {
show: true
}
}
}
</script>
<style>
.fade-enter-active, .fade-leave-active{
transition: opacity 2s ease-out;
}
.fade-enter, .fade-leave-to{
opacity: 0;
}
/*进入*/
.fade-enter{
transform: translateY(-500px);
}
/*出去*/
.fade-leave-active{
transform: translateY(500px);
}
</style>

多元素模式接受的过渡状态—v-show的过渡状态/v-if的过渡状态

v-if和v-show的区别在于v-if从dom中去除,v-show只是将dom使用css样式display:none隐藏掉

<template>
<div id="app">
<button @click="show = !show">Toggle</button>
<!--mode表示多元素模式,out-in(先出后进)in-out(先进后出)-->
<transition-group name="fade" mode="out-in">
<!--多元素模式下,使用transition-group标签,并且需要一个key来标识-->
<p v-if="show" key="1">i am if</p>
<p v-else key="2">i am show</p>
</transition-group>
</div>
</template> <script>
export default {
name: 'app',
data () {
return {
show: true
}
}
}
</script>
<style>
.fade-enter-active, .fade-leave-active{
transition: opacity 2s ease-out;
}
.fade-enter, .fade-leave-to{
opacity: 0;
}
</style>
<template>
<div id="app">
<button @click="show = !show">Toggle</button>
<!--mode表示多元素模式,out-in(先出后进)in-out(先进后出)-->
<transition-group name="fade" mode="out-in">
<!--多元素模式下,使用transition-group标签,并且需要一个key来标识,实际开发中这个key一般是数组的下标,最好是用v-bind来绑定-->
<p v-show="show" key="1">i am if</p>
<p v-show="!show" key="2">i am show</p>
</transition-group>
</div>
</template> <script>
export default {
name: 'app',
data () {
return {
show: true
}
}
}
</script>
<style>
.fade-enter-active, .fade-leave-active{
transition: opacity 2s ease-out;
}
.fade-enter, .fade-leave-to{
opacity: 0;
}
</style>

多元素过渡和多元素过渡模式(接受的过渡状态—动态组件切换的过渡动画)

css实现动画

<template>
<div id="app">
<button @click="show = !show">Toggle</button>
<transition name="bounce">
<p v-if="show" style="display: inline-block">Lorem</p>
</transition>
</div>
</template> <script>
export default {
name: 'app',
data () {
return {
show: true
}
}
}
</script>
<style>
/*进入过程中的动画*/
.bounce-enter-active {
animation: bounce-in .5s;
}
/*离开过程中的动画*/
.bounce-leave-active {
animation: bounce-in .5s reverse;
}
@keyframes bounce-in {
0% {
transform: scale(0);
}
50% {
transform: scale(1.5);
}
100% {
transform: scale(1);
}
}
</style>

vue过渡动画的更多相关文章

  1. Vue过渡动画—Vue学习笔记

    要求:要通过Vue使用过渡动画我们要把需要过度的元素放在<transition name='变量名'></transition>中. 原理:通过在特定的时刻增加/移除样式实现. ...

  2. vue过渡动画效果

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

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

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

  4. Vue过渡动画运用transition

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

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

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

  6. vue 过渡 & 动画

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

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

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

  8. vue过渡动画样式

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

  9. [原]浅谈vue过渡动画,简单易懂

    在vue中什么是动画 开始先啰嗦一下,动画的解释(自我理解

随机推荐

  1. .NET面试题01-值类型与引用类型

    常见面试题目: 1. 值类型和引用类型的区别? 2. 结构和类的区别? 3. delegate是引用类型还是值类型?enum.int[]和string呢? 4. 堆和栈的区别? 5. 什么情况下会在堆 ...

  2. [PHP]算法-拼接最小字典序的实现

    拼接最小字典序: 给定一个字符串类型的数组strs,请找到一种拼接顺序,使得将所有字符串拼接起来组成的大字符串是所有可能性中字典顺序最小的并放回这个大字符串. 思路: 1.字典序,12345这五个数, ...

  3. Spring Boot 2.0 升级指南

    Spring Boot 2.0 升级指南 前言 Spring Boot已经发布2.0有5个月多,多了很多新特性,一些坑也慢慢被填上,最近有空,就把项目中Spring Boot 版本做了升级,顺便整理下 ...

  4. JavaWeb学习日记----DTD

    DTD:文档类型定义,可以定义合法的XML文档构建模块.使用一系列的合法标签元素来定义文档的结构. 现有一个XML文档内容如下: <?xml version="1.0"?&g ...

  5. regression and anova

    regression一般是统计学的回归回归,研究一个随机变量Y对另一个(X)或一组(X1,X2,-,Xk)变量的相依关系的统计分析方法.研究一 个或多个随机变量Y1 ,Y2 ,-,Yi与另一些变量X1 ...

  6. Netty 系列六(编解码器).

    一.概念 网络传输的单位是字节,如何将应用程序的数据转换为字节,以及将字节转换为应用程序的数据,就要说到到我们该篇介绍的编码器和解码器. 将应用程序的数据转换为网络格式,以及将网络格式转换为应用程序的 ...

  7. Docker部署Nginx并修改配置文件

    Docker部署Nginx并修改配置文件 一.拉取nginx镜像 docker pull nginx 二.在宿主机中创建挂载目录 mkdir -p /data/nginx/{conf,conf.d,h ...

  8. linux防火墙相关 iptables

    1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...

  9. CSS3布局之多列布局columns详解

    columns语法:columns:[ column-width ] || [ column-count ]设置或检索对象的列数和每列的宽度 其中:[ column-width ]:设置或检索对象每列 ...

  10. MongoDB 通过配置文件启动及注册服务

    1.配置mongodb环境变量,配置完成之后就可以直接执行mong.mongod等常用命令,不用每次都到mongodb安装目录bin下去执行: 2.通过命令启动mongo服务 mongod --dbp ...