当前位置: 首页 > news >正文

vue过渡及动画

文章目录

  • 前言
  • 类名
  • 使用
    • 自己定义动画样式
    • 多个元素过渡
    • 使用第三方库

前言

对于vue中的过渡与动画,官网上是这样概述的:

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

  • 在 CSS 过渡和动画中自动应用 class
  • 可以配合使用第三方 CSS 动画库,如 Animate.css
  • 在过渡钩子函数中使用 JavaScript 直接操作 DOM
  • 可以配合使用第三方 JavaScript 动画库,如 Velocity.js

简言之:vue动画就是

  1. 操作 css 的 trasition 或 animation
  2. vue 会给目标元素添加/移除特定的 class

类名

  1. xxx-enter-active: 指定显示的 transition
  2. xxx-leave-active: 指定隐藏的 transition
  3. xxx-enter/xxx-leave-to: 指定隐藏时的样式

在这里插入图片描述

使用

  1. 在目标元素外包裹
  2. 定义 class 样式
    a) 指定过渡样式: transition
    b) 指定隐藏时的样式: opacity/其它

自己定义动画样式

<template><div><button @click="isShow = !isShow">显示/隐藏</button><transition name="hello" appear><h1 v-show="isShow">你好啊!</h1></transition></div>
</template><script>export default {name:'Test',data() {return {isShow:true}},}
</script><style scoped>h1{background-color: orange;}.hello-enter-active{animation: atguigu 0.5s linear;}.hello-leave-active{animation: atguigu 0.5s linear reverse;}@keyframes atguigu {from{transform: translateX(-100%);}to{transform: translateX(0px);}}
</style>

多个元素过渡

<template><div><button @click="isShow = !isShow">显示/隐藏</button><transition-group name="hello" appear><h1 v-show="!isShow" key="1">你好啊!</h1><h1 v-show="isShow" key="2"></h1>aaa</transition-group></div>
</template><script>export default {name:'Test',data() {return {isShow:true}},}
</script><style scoped>h1{background-color: orange;}/* 进入的起点、离开的终点 */.hello-enter,.hello-leave-to{transform: translateX(-100%);}.hello-enter-active,.hello-leave-active{transition: 0.5s linear;}/* 进入的终点、离开的起点 */.hello-enter-to,.hello-leave{transform: translateX(0);}</style>

使用第三方库

<template><div><button @click="isShow = !isShow">显示/隐藏</button><transition-group appearname="animate__animated animate__bounce" enter-active-class="animate__swing"leave-active-class="animate__backOutUp"><h1 v-show="!isShow" key="1">你好啊!</h1><h1 v-show="isShow" key="2">尚硅谷!</h1></transition-group></div>
</template><script>import 'animate.css'export default {name:'Test',data() {return {isShow:true}},}
</script><style scoped>h1{background-color: orange;}</style>

相关文章:

vue过渡及动画

文章目录 前言类名使用自己定义动画样式多个元素过渡使用第三方库 前言 对于vue中的过渡与动画&#xff0c;官网上是这样概述的&#xff1a; Vue 在插入、更新或者移除 DOM 时&#xff0c;提供多种不同方式的应用过渡效果。包括以下工具&#xff1a; 在 CSS 过渡和动画中自动…...

Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…...

【ubuntu】 DNS 设置工具 resolvectl

什么是 resolvectl “resolvectl” 是一个用于管理系统 DNS 解析配置的命令行工具。它是 systemd-resolved 服务的一部分&#xff0c;该服务是在许多基于 Systemd 的 Linux 发行版中用于管理网络配置和 DNS 解析的系统服务。 通过 resolvectl 命令&#xff0c;可以查看当前系…...

Keepalived+Lvs(dr)调度器主备配置小实验

目录 前言 一、实验拓扑图 二、配置LVS&#xff08;dr&#xff09;模式 三、配置调配器热备 四、测试 总结 前言 Keepalived和LVS&#xff08;Linux Virtual Server&#xff09;是两个常用的开源软件&#xff0c;通常结合使用以提供高可用性和负载均衡的解决方案。 Keepalive…...

第四讲Java基本语法——数组结构(多维数组)

前言 前面几讲,我们讲了Java基本语法,初学者也能够有一定的入门。本讲,我们也是继续来讲解一下Java另一个基础语法——数组,其实在前面讲解数据类型的时候,我们也有提到数组是引用类型,那今天我们就来分析一下什么是数组,怎么用数组呢? 一、数组是什么 数组是…...

【题解】JZOJ6578 / 洛谷P5201[USACO2019Jan]Shortcut G

洛谷 P5201 [USACO19JAN] Shortcut G 题意 在一个带权无向连通图上&#xff0c;每个点有 a i a_i ai​ 只奶牛&#xff0c;奶牛会走最短路径到 1 1 1&#xff0c;如果有多条路径&#xff0c;选择字典序最小的&#xff0c;定义移动总时间为所有奶牛走到 1 1 1 的时间之和。…...

npm install sentry-cli失败的问题

1. 目前报错 2. 终端运行 npm set ENTRYCLI_CDNURLhttps://cdn.npm.taobao.org/dist/sentry-cli npm set sentrycli_cdnurlhttps://cdn.npm.taobao.org/dist/sentry-cli3. 再安装 npx sentry/wizardlatest -i nextjs即可成功...

Node opensslErrorStack 错误解决方法记录

从Git仓库中下载了一个老项目&#xff0c;使用npm install 安装后没有问题&#xff0c;当我使用npm run dev 的时候遇到了 OpenSSL 相关错误&#xff0c;例如 opensslErrorStack: [error:03000086:digital envelope routines::initialization error] 网上找了一下相关信息&am…...

你知道什么是Grandmillennial风格吗,进来看看吧

如果你既欣赏祖母的印花棉布扶手椅和大胆的图案&#xff0c;又喜欢千禧一代朋友现代家居中的开放空间和时尚家具&#xff0c;那么 "千禧一代 “风格就是为你量身打造的。它借鉴了几十年来的流行趋势&#xff0c;形成了一种独特的、带有现代风格的老式设计。 在典型的 &quo…...

App Inventor 2 开发 ChatGPT 对话App

ChatGPT大家应该不会陌生&#xff0c;它的回答内容非常的专业及深入&#xff0c;具有实际的可指导性。我们通过App Inventor 2开发一个简单的对话App&#xff0c;先看效果&#xff1a; App Inventor 2 ChatGPT教育领域对话演示 代码块如下&#xff1a; 用到的核心组件“ChatBot…...

SQL 大小敏感问题

在SQL中&#xff0c;关键字和函数名 是不区分 大小写的 比如&#xff08;select、where、order by 、group by update 等关键字&#xff09;&#xff0c;以及函数(ABS、MOD、round、min等) window系统默认是大小写不敏感 &#xff08;ZEN文件和zen 文件 不能同时存在&#xff…...

微信小程序+Taro 混编,Taro 使用微信原生 behaviors

最近有一个小程序项目&#xff0c;因为一些原因项目架构选择了微信小程序原生Taro 混编的方式进行开发&#xff0c;在开发的过程中发现 Taro 不支持使用原生的 behaviors 特性&#xff0c;因为混编的原因项目当中已有原生页面在使用 behaviors&#xff0c;所以需要一个方案在不…...

b树/b+树、时间轮、跳表、LSM-Tree

b树、b树&#xff1a;关系型数据库核心存储结构 1、为什么磁盘数据存储结构用B树、而不用红黑树 磁盘每次读取不是读一个节点、是返回一页数据。 红黑树每次遍历一个节点排除一半数据。 B树通常映射相邻的磁盘页数据。4K mysql索引一个节点隐射16k故而映射4倍&#xff0c;故…...

Unity OnDrawGizmos的简单应用 绘制圆形

编辑器和配置表各有各的好。 卡牌游戏即使再复杂&#xff0c;哪怕是梦幻西游&#xff0c;大话西游那种&#xff0c;甚至wow那种&#xff0c;用配表都完全没问题。但是崩坏3&#xff0c;或者鬼泣&#xff0c;格斗游戏&#xff0c;可视化编辑器是唯一的选择。 开发初期刚开始配技…...

Uniapp笔记(四)uniapp语法3

一、商品详情 1、从商品列表页跳转到商品详情页 在商品列表的项中绑定单击事件&#xff0c;并传递商品id值 <view class"goods-item" v-for"(item,index) in goodsList" :key"index" click"goGoodsDetail(item.goods_id)"> &…...

leetcode做题笔记105. 从前序与中序遍历序列构造二叉树

给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 思路一&#xff1a;递归 struct TreeNode* buildTree(int* preorder, int preorderSize, int* ino…...

Python里的列表List求和

1、使用sum()函数 numbers [1, 2, 3, 4, 5] total sum(numbers) print(total) # 输出 15 2、注意事项 在使用 sum() 函数获取列表的总和时&#xff0c;需要注意以下几点&#xff1a; sum() 函数只能用于数字类型的可迭代对象&#xff0c;如果 iterable 中包含了非数字类…...

启动docker容器的几种方法和注意事项(docker-compose,dockerfile)

1&#xff1a;要启动容器必须都先创建好镜像文件 C:\Users\dell>docker images REPOSITORY TAG IMAGE ID CREATED SIZE poi 1.0 22738bb31074 4 hours ago 105MB redis latest 506734eb5e71 6 days ago 138MB ng…...

bash: conda: command not found

问题描述&#xff1a; 在Pycharm上用SSH远程连接到服务器&#xff0c;打开Terminal准备查看用 conda 创建的虚拟环境时&#xff0c;却发现调用 conda 指令时出现以下报错&#xff1a; -bash: conda: command not found如果使用Xshell 利用端口号直接连接该 docker 容器&#…...

Leetcode-每日一题【剑指 Offer 36. 二叉搜索树与双向链表】

题目 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点&#xff0c;只能调整树中节点指针的指向。 为了让您更好地理解问题&#xff0c;以下面的二叉搜索树为例&#xff1a; 我们希望将这个二叉搜索树转化为双向循环链表…...

科技史上的今天:5月14日-百年技术沉淀,引领时代变革

2015年&#xff1a;HTTP/2 正式发布2015年5月14日&#xff0c;HTTP/2 标准正式发布&#xff0c;作为HTTP/1.1的重大升级&#xff0c;采用二进制分帧、多路复用等技术&#xff0c;解决串行阻塞痛点&#xff0c;显著提升网页加载速度与传输效率&#xff0c;为现代Web及物联网通信…...

保姆级教程:从显微镜下的芯片照片到完整版图,手把手教你图像拼接与对准

芯片显微图像处理实战&#xff1a;从碎片化照片到完整版图的逆向工程指南 当你面对数百张杂乱无章的芯片显微照片时&#xff0c;是否感到无从下手&#xff1f;这些看似孤立的图像碎片&#xff0c;实际上隐藏着芯片设计的完整密码。本文将带你走进电子显微镜下的微观世界&#x…...

在Node.js后端服务中集成Taotoken实现大模型能力

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Node.js后端服务中集成Taotoken实现大模型能力 对于Node.js后端开发者而言&#xff0c;为Web服务引入AI对话功能已成为提升产品智…...

LeetCode 单词搜索II题解

LeetCode 单词搜索II题解 题目描述 给定一个二维字符网格和一个字符串数组&#xff0c;找出所有在网格中出现的单词。 示例&#xff1a; 输入&#xff1a;board [["o","a","a","n"],["e","t","a",&quo…...

研一新生必看!文献管理软件到底要不要用?Scholaread vs Zotero新手友好度对比

刚进入研究生阶段,你可能会听到师兄师姐反复强调"一定要用文献管理软件",但心里却充满疑问:我就几十篇文献,真的需要专门的工具吗?市面上那么多软件,Zotero、EndNote、Scholaread…到底哪个适合零基础的我? **研一新生面临的最大困境:**电脑里200篇PDF文件散落在下…...

Infineon DPS310压力传感器评估与开发实践

1. Infineon DPS310压力传感器评估环境解析在当今快速发展的消费电子领域&#xff0c;高精度压力传感器已成为无人机、可穿戴设备和室内外导航等应用的核心组件。作为行业领先的解决方案&#xff0c;Infineon DPS310凭借其出色的性能和完整的评估环境&#xff0c;为工程师提供了…...

【AI面试临阵磨枪-57】如何防止 Prompt 注入、越狱、敏感信息泄露

一、 面试题目随着 Agent 接入业务系统&#xff0c;Prompt 注入&#xff08;Injection&#xff09;、越狱&#xff08;Jailbreak&#xff09;和敏感信息泄露&#xff08;PII Leakage&#xff09; 成为核心威胁。你如何从工程架构角度设计一套完整的安全防御体系&#xff1f;二、…...

5个理由让你爱上Bebas Neue:免费商用字体库的终极指南 [特殊字符]

5个理由让你爱上Bebas Neue&#xff1a;免费商用字体库的终极指南 &#x1f3a8; 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 还在为设计项目寻找一款既专业又免费的字体吗&#xff1f;Bebas Neue字体库就是你…...

如何3分钟获取百度网盘提取码?这个开源工具让你彻底告别搜索烦恼

如何3分钟获取百度网盘提取码&#xff1f;这个开源工具让你彻底告别搜索烦恼 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而四处搜索吗&#xff1f;每次遇到需要密码的资源&#xff0c;都要…...

CATIA多实体零件自动化拆分:pyCATIA解决复杂几何体管理的技术挑战

CATIA多实体零件自动化拆分&#xff1a;pyCATIA解决复杂几何体管理的技术挑战 【免费下载链接】pycatia python module for CATIA V5 automation 项目地址: https://gitcode.com/gh_mirrors/py/pycatia 在航空航天、汽车制造和复杂机械设计领域&#xff0c;工程师经常面…...