Vue30 过度与动画
1 简介
Vue封装的过度与动画,插入、更新或者移除 DOM 时,在合适的时候给元素添加样式类名,达到应用过渡和动画效果。
2 vue内置的样式
Vue在元素显示与隐藏的过渡中,提供了 6 个 class 来切换:
1)v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。
2)v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。
3)v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。
4)v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。
5)v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
6)v-leave-to: 2.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 过度与动画的更多相关文章
- css3过度和动画
一.过度(transition) transition:[transition-property] || [transition-duration] || [transition-timing-fun ...
- Vue $nextTick && 过度与动画
1 # $nextTick 2 # 1.语法: this.$nextTick(回调函数); 3 # 2.作用:在下一次DOM更新结束后执行其指定的回调. 4 # 3.什么时候用:当改变数据后,要基于更 ...
- css3变换,过度,动画实现梦幻网页
html和css3一出,整个互联网设计发生了颠覆性的改变,各大IT企业也推出了很多新颖的设计,比如百度浏览器的下载首页,fullpage设计风格加css动画让网页看起来很流畅舒服. css3的变换有3 ...
- vue动画理解,进入、离开、列表过度和路由切换。
vue的动画对于很多初学者,甚至对很多老鸟来说也是很费劲,不容易控制的. 这篇文章讲vue动画的理解.其实没那么难. 动画理解 一个元素从A状态变成B状态,如果这个过程通过某种方式反应在视图上了,那么 ...
- iOS 动画基础
原文:http://www.cnblogs.com/lujianwenance/p/5733846.html 今天说一下有关动画的基础,希望能帮助到一些刚接触iOS动画或者刚开始学习iOS的同学, ...
- [CSS3] 学习笔记-CSS动画特效
在CSS3中,出现了很多出彩的效果,例如2D.3D以及过度.动画和多列等.这些效果为页面设计添加了很多的可选设计. 1.2D.3D转换 转换,是使元素改变尺寸.形状.位置的一种效果:通过CSS3转换, ...
- CSS3动画 transition和animation的用法和区别
transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C IE -ms- Chrome/Safari -webkit- Firefoc - ...
- vue-06-过度和动画
1, css过度与动画 需要使用 v-if, v-show 来进行 1), 过度类名 v-enter: 进入时触发 v-enter-active: 执行过程中 v-enter-to: 停止时进行 v- ...
- vue.js 过渡&动画
9-17 在add ,update, remove DOM时 提供多种方式的应用过度效果. 包括以下可选工具:(2大类,css和js) 在css过度和动画中自动应用class 配合使用第三方css动画 ...
- Android 动画——Layout Animations布局动画
Layout Animations主要使用LayoutTransition为布局的容器设置动画,当容器中的视图层次发生变化时存在过渡的动画效果. LayoutTransition This class ...
随机推荐
- 2021年WebStorm安装破解教程
一.WebStorm工具介绍 WebStorm是一款JavaScript 开发工具,为JavaScript和编译到JavaScript语言.Node.js.HTML和CSS提供了智能编码帮助.享受代码 ...
- 大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-上
@ 目录 概述 定义 发展历史 特性 使用场景 编译安装 编译环境 编译Hudi 关键概念 TimeLine(时间轴) File Layouts(文件布局) 索引 表类型 查询类型 概述 定义 Apa ...
- python学习——查找计算机中的文件
# import os # # path = 'C:/Users/admin/Desktop/images' # files = os.listdir(path) # # for f in files ...
- Go语言核心36讲08
在上一篇文章,我们一直都在围绕着可重名变量,也就是不同代码块中的重名变量,进行了讨论. 还记得吗?最后我强调,如果可重名变量的类型不同,那么就需要引起我们的特别关注了,它们之间可能会存在"屏 ...
- 18道经典链表题刷题总结——WeetCode1 链表系列
系列文章目录和关于我 前言: WeetCode = Week leetCode 寓意每周刷点leetCode 题目 链表是我恢复刷题手感最喜欢做的系列,其没用太多的算法思想,单纯考验对指针的理解,和c ...
- Training: WWW-Robots
原题链接:http://www.wechall.net/challenge/training/www/robots/index.php 打开网页他给我们说什么 说什么这是一个小挑战,你将会了解到机器人 ...
- 多表查询、Navicat软件、PyMySQL模块
目录 多表查询.Navicat软件.PyMySQL模块 一.多表查询的两种方法 1.准备工作 2.第一种:连表操作 3.第二种:子查询 总结与结论: 二.多表查询练习题 1.课堂多表查询练习题 2.以 ...
- 如何使用 LinkedHashMap 实现 LRU 缓存?
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 在上一篇文章里,我们聊到了 HashMap 的实现原理和源码分析,在源码分析的过程中,我 ...
- 最新 2022 年 Kubernetes 面试题高级面试题及附答案解析
题1:Kubernetes Service 都有哪些类型? 通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上.其主要类型有: C ...
- Dart开发服务端,我是不是发烧(骚)了?
前言 最近一段时间,我和我的团队开发了两个 APP. 客户端方面采用了 Flutter,方便跨平台. 服务端方面剑走偏锋,没有采用 php, pythod, java之类的,而是采用了与 Flutte ...