1 简介

  Vue封装的过度与动画,插入、更新或者移除 DOM 时,在合适的时候给元素添加样式类名,达到应用过渡和动画效果。

2 vue内置的样式

  Vue在元素显示与隐藏的过渡中,提供了 6 个 class 来切换:

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

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

    3)v-enter-to2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。

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

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

    6)v-leave-to2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

3 使用

3.1 准备好样式

  需要先准备号上面的6个样式中需要用到的样式

3.2 使用标签<transition>包裹要实现过度或动画的标签

<transition name = "nameoftransition">
<div></div>
</transition>

3.3 appear属性

  默认页面初始化加载的时候不产生效果,初始化完成后才会产生效果,如果想一开始就产生效果,须在transition 标签加上属性appear

3.4 <transition-group>标签

  若有多个元素需要使用统一的效果,需要使用<transition-group>标签,且元素需要定义key属性

<transition-group name="hello" appear>
  <h1 v-show="!isShow" key="1">你好啊!</h1>
  <h1 v-show="isShow" key="2">哈哈哈!</h1>
</transition-group>

3.5 动画示例

  过渡的示例就不写了

  transition里面的那么属性hello,对应下面的样式名称的开头.hello-enter-active,不定义name属性的话就是默认v开头,定义name属性就是name属性值开头
<template>
<div>
<transition name="hello" appear>
<h1 v-show="isShow">你好啊!</h1>
</transition> <button @click="cli">显示/隐藏</button> </div> </template> <script> export default {
name:'StudentComp',
data(){
return {
isShow:true
}
},
methods: {
cli(){
this.isShow = !this.isShow
}
},
}
</script> <style > /*进入的过程中的样式 */
.hello-enter-active{
animation: hello 0.5s linear;
} /*离开的过程中的样式 */
.hello-leave-active{
animation: hello 0.5s linear reverse;
} /*定义动画 */
@keyframes hello {
from{
transform: translateX(-100%);
}
to{
transform: translateX(0px);
}
} </style>

4 第三方动画库Animate.style

  有很多的第三方动画库可以拿过来直接使用,Animate.style  就是一个不错的

4.1 官网

  https://animate.style/

4.2 使用

 1)安装

npm install animate.css

 2)引入

import 'animate.css'

 3)使用

  在transition或者transition-group标签里面
    1)填写name属性,值为animate__animated animate__bounce
    2)填写属性enter-active-class ,进来的样式名称(不需要可以不写)
    3)填写属性leave-active-class,离开的样式名称(不需要可以不写)
  
  样式的效果可以在官网右侧查看,样式名称也可以在这里复制

<template>
<div>
<transition
appear
name="animate__animated animate__bounce"
enter-active-class="animate__swing"
leave-active-class="animate__backOutUp"
>
<h1 v-show="isShow">你好啊!</h1>
</transition> <button @click="cli">显示/隐藏</button> </div> </template> <script> import 'animate.css' export default {
name:'StudentComp',
data(){
return {
isShow:true
}
},
methods: {
cli(){
this.isShow = !this.isShow
}
},
}
</script>

Vue30 过度与动画的更多相关文章

  1. css3过度和动画

    一.过度(transition) transition:[transition-property] || [transition-duration] || [transition-timing-fun ...

  2. Vue $nextTick && 过度与动画

    1 # $nextTick 2 # 1.语法: this.$nextTick(回调函数); 3 # 2.作用:在下一次DOM更新结束后执行其指定的回调. 4 # 3.什么时候用:当改变数据后,要基于更 ...

  3. css3变换,过度,动画实现梦幻网页

    html和css3一出,整个互联网设计发生了颠覆性的改变,各大IT企业也推出了很多新颖的设计,比如百度浏览器的下载首页,fullpage设计风格加css动画让网页看起来很流畅舒服. css3的变换有3 ...

  4. vue动画理解,进入、离开、列表过度和路由切换。

    vue的动画对于很多初学者,甚至对很多老鸟来说也是很费劲,不容易控制的. 这篇文章讲vue动画的理解.其实没那么难. 动画理解 一个元素从A状态变成B状态,如果这个过程通过某种方式反应在视图上了,那么 ...

  5. iOS 动画基础

    原文:http://www.cnblogs.com/lujianwenance/p/5733846.html   今天说一下有关动画的基础,希望能帮助到一些刚接触iOS动画或者刚开始学习iOS的同学, ...

  6. [CSS3] 学习笔记-CSS动画特效

    在CSS3中,出现了很多出彩的效果,例如2D.3D以及过度.动画和多列等.这些效果为页面设计添加了很多的可选设计. 1.2D.3D转换 转换,是使元素改变尺寸.形状.位置的一种效果:通过CSS3转换, ...

  7. CSS3动画 transition和animation的用法和区别

    transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C   IE  -ms-  Chrome/Safari -webkit-   Firefoc - ...

  8. vue-06-过度和动画

    1, css过度与动画 需要使用 v-if, v-show 来进行 1), 过度类名 v-enter: 进入时触发 v-enter-active: 执行过程中 v-enter-to: 停止时进行 v- ...

  9. vue.js 过渡&动画

    9-17 在add ,update, remove DOM时 提供多种方式的应用过度效果. 包括以下可选工具:(2大类,css和js) 在css过度和动画中自动应用class 配合使用第三方css动画 ...

  10. Android 动画——Layout Animations布局动画

    Layout Animations主要使用LayoutTransition为布局的容器设置动画,当容器中的视图层次发生变化时存在过渡的动画效果. LayoutTransition This class ...

随机推荐

  1. TensorFlow深度学习!构建神经网络预测股票价格!⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 TensorFlow 实战系列:https://www.showmeai ...

  2. Python 包(package)

    在比较大型的项目中常常需要编写.用到大量的模块,此时我们可以使用包(Package)来管理这些模块. (一)什么是包? Python包,就是里面装了一个__init__.py文件的文件夹. __ini ...

  3. 聊聊FASTER和进程内混合缓存

    最近有一个朋友问我这样一个问题: 我的业务依赖一些数据,因为数据库访问慢,我把它放在Redis里面,不过还是太慢了,有什么其它的方案吗? 其实这个问题比较简单的是吧?Redis其实属于网络存储,我对照 ...

  4. Spring Cloud Circuit Breaker 使用示例

    Spring Cloud Circuit Breaker 使用示例 作者: Grey 原文地址: 博客园:Spring Cloud Circuit Breaker 使用示例 CSDN:Spring C ...

  5. IPV4地址详解

    在互联网时代,相信会上网的人应该对IP地址都不是很陌生.就像我们每个人都有一个身份证号码一样,网络里的每个终端都使用一个IP地址用于标示自己.那么你知道哪些是保留地址?哪些是特殊地址吗? 一.保留地址 ...

  6. SSH SCP 使用秘钥验证 登录

    从Win10连接到Ubuntu 22.04. 1. Win10 上生成秘钥公钥 ssh-keygen -t rsa -C "xxx@yyy.com" 2. Ubuntu 22.04 ...

  7. C++两种方法改变输出颜色

    方法一: 使用 SetConsoleTextAttribute    需要引入 #include "windows.h"    SetConsoleTextAttribute(Ge ...

  8. Kafka Connect学习

    一.基础介绍 1.概念 2.Debezium 为捕获数据更改(change data capture,CDC)提供了一个低延迟的流式处理平台.可以消费数据库每一个行级别(row-level)的更改. ...

  9. whistle证书过期或不信任

    1. 安卓设备 , whistle抓包https安装证书后无法访问网络,报证书过期或不信任 2. 查看证书日期是到2030年,没有过期 3. 删除证书 重新安装时候证书选择 "VPN或应用& ...

  10. 快速入门JavaScript编程语言

    目录 JS简介 JS基础 1.注释语法 2.引入js的多种方式 3.结束符号 变量与常量 let和var的区别 申明常量 const 严格模式 use strict 基本数据类型 1.数值类型(Num ...