前端之vue3使用动画库animate.css(含动画、过渡)

2023-11-09

一、动画效果

1.默认动画

实例

<template>
<div>
  <button @click="isShow = !isShow">显示/隐藏</button>
  <transition>
    <h2 v-show="isShow">动画效果</h2>
  </transition>
</div>
</template>

v-show设置h2的显示隐藏
需要动画效果的内容写在transition标签内

<script>
export default {
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

<style scoped>
/* 动画 */

/* 1. 关键帧 (动画效果) */
@keyframes axisX {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0px);
  }
}

/* 2. 过渡类名 */
/* 开始 */
.v-enter-active {
  background: skyblue;
  animation: axisX 1s;
}
/* 结束 */
.v-leave-active {
  background: skyblue;
  animation: axisX 1s reverse;
}
</style>

动画语法

  1. 编写动画效果动画名
<style>
/* 1. 关键帧 (动画效果) */
@keyframes 动画名{
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0px);
  }
}
</style>

2.用过渡动画

<style>
/* 2. 过渡动画 */
/* 开始 */
.v-enter-active {
  animation: axisX 1s;
}
/* 结束 */
.v-leave-active {
  animation: axisX 1s reverse;
}
</style>

3.使用

      <transition name="" appear>
        <h2 v-show="isShow">动画效果</h2>
      </transition>

appear是页面开始时, 自动执行开始过渡动画

2.给transition指定name

适合一个组件多个动画

与默认不同的是:
1.name=nameValue
2.开始/结束的过渡类名中的 v 换成 nameValue

二、过渡效果

    <div>
      <button @click="isShow = !isShow">显示/隐藏</button>
      <transition name="h2">
        <h2 v-show="isShow">动画效果</h2>
      </transition>
    </div>
<style>
h2 {
  background: yellow;
}


/* 过渡 */
/* 进入起点,离开终点 */
.h2-enter,
.h2-leave-to {
  transform: translateX(-100%);
}

/* 进入过程,离开过程 */
.h2-enter-active,
.h2-leave-active {
  transition: 0.5s linear;
}

/* 进入终点,离开起点 */
.h2-enter-to,
.h2-leave {
  transform: translateX(0px);
}
</style>

类型中的h2是transition标签中的name的属性值.
transition标签中只能有一个元素
多个用transition-group

三、多个元素过渡

transition-group
内部元素要有自己的key

<transition-group name="h2" appear="true">
  <h2 v-show="isShow" key="1">动画效果1</h2>
  <h2 v-show="!isShow" key="2">动画效果2</h2>
</transition-group>
<style>
/* 过渡 */
/* 进入起点,离开终点 */
.h2-enter,
.h2-leave-to {
  transform: translateX(-100%);
}

/* 进入过程,离开过程 */
.h2-enter-active,
.h2-leave-active {
  transition: 0.5s linear;
}

/* 进入终点,离开起点 */
.h2-enter-to,
.h2-leave {
  transform: translateX(0px);
}
</style>

四、vue3使用动画库

动画库animate.css √

引入
运用类名,动画就生效了
animate.css
在这里插入图片描述

  1. 安装命令行
    运行时需要用到的包使用–save,否则使用–save-dev。
 npm install animate.css --save
  1. 这样引入才生效(建议全局引入–main.js)
import "animate.css/animate.min.css";
  1. transition name
    有它才生效
      name="animate__animated animate__bounce"
    <transition-group
      appear
      name="animate__animated animate__bounce"
      enter-active-class="animate__backInLeft"
      leave-active-class="animate__backOutRight"
    >
      <h2 v-show="isShow" key="1">动画效果1</h2>
      <h2 v-show="!isShow" key="2">动画效果2</h2>
    </transition-group>
  1. enter-active-class进入类名

  2. leave-active-class离开类名

五、总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

过渡:
在这里插入图片描述
动画:name=“hello”
在这里插入图片描述
你的每一份点赞、关注都是我对我学习成果的认可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端之vue3使用动画库animate.css(含动画、过渡) 的相关文章

  • 如何简化这个 LESS CSS Box-shadow mixin? (带有“方向”的多个阴影)

    如何减少这段代码 可能使用循环 以拥有一个接受方向和数字的 函数 dir 想要的 方向 number 我需要多少次影子 这里是10次 color 阴影的颜色 Example 可以工作 但不是很容易使用 perspective box dir
  • 我可以使用 ASP.NET WebForms 母版页在每个内容页中包含不同的 javascript/css 文件吗?

    我有几个使用相同母版页的内容页 它们并不都需要包含在相同的 javascript 和 css 文件中 tag 是否可以更改内容来自内容页面的标签 确实如此 但我建议采取一些不同的做法 我在关闭正文标签的正上方放置了一个内容占位符 然后我填充
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • chrome 中选择选项元素的额外填充

    我有一个选择元素 用户可以在其中选择分类和描述 仅在 Chrome 浏览器中 我有一个额外的填充 无法使用 padding 0 或其他 css 标签删除它 Chrome 的屏幕 https i stack imgur com m3iIb p
  • 将图像编码为base64有什么效果?

    如果我将图像 jpg 或 png 转换为 base64 那么它会更大 还是具有相同的大小 会大多少呢 是否建议在我的网站上使用 Base64 编码的图像 大约会大 37 非常粗略地说 Base64 编码的二进制数据的最终大小等于原始数据大小
  • 编辑类名中带有空格的元素的 css 样式

    我正在创建一个 tumblr 我必须编写一个外部 CSS 文件 但我在编辑 post 元素的 css 样式时遇到问题 这是它的结构 li class post quote other code li 问题是类名中有空格 我如何创建一个 CS
  • 如何将大于整个页面 100% 的元素居中对齐?

    我有一个宽度为 100 的 div 并且隐藏了一个宽度为 3000px 的 div 我希望3000px的div左右均匀地被切断 我会使用背景位置 中心 然而 事情比这更复杂 3000px div 包含 30 100px div 我尝试过在
  • 使用 :hover 作为元素的内联样式(使用 HTML/CSS/php)[重复]

    这个问题在这里已经有答案了 可能的重复 如何将 a hover 规则嵌入到文档中间的样式属性中 https stackoverflow com questions 131653 how do i embed an ahover rule i
  • 使 Material UI Grid 项目的子项拉伸以适合父容器的剩余高度

    1 现状 我有一个包含 4 个网格项的 Material UI 网格容器 每个 Grid 项中都有一个 Typography 组件 其中包含标题和包含一些内容的 Card 如下所示 2 期望的外观 我希望卡片填充网格项目的剩余高度并且不超过
  • 将输入中每个单词的第一个字符设为大写

    我想知道如何在输入区域自动生成单词的第一个字符 目前我的代码是 Name
  • 使用 CSS 覆盖透明 div 中的不透明文本

    我试图使透明 div 内的文本没有不透明度 也就是全黑 div style background 3cc p style background 000 This text should be all black p div 只用 CSS 就
  • 没有类的 CSS 选择器

    我正在使用选择器来选择不具有一个类的所有元素 list th not foo some rules 我怎样才能将其应用到多个班级 list th not foo list th not bar some rules 上面的 CSS 当然不会
  • 如何为 TBODY 应用垂直滚动条

    我的表中有 4 列和 5 行数据 我必须为 TBODY 应用垂直滚动条 TH 标题内容不应滚动 我对场景进行了编码 并且在我将滚动类应用于 TBODY 之前它工作正常 一旦我将滚动样式类应用于 TBODY 它就会破坏之前的对齐方式 任何人都
  • 如何设置 CSS 网格的最大高度

    我有以下 CSS 网格 grid 3x4 display grid grid template columns 1fr 1fr 1fr grid template rows 1fr 1fr 1fr 1fr grid template are
  • 设置浏览器窗口最小化的最小尺寸限制?

    有没有办法在所有浏览器中手动设置浏览器窗口的最小尺寸 你可以试试 body min width 600px 一旦视口小于 600 像素 您将得到一个水平滚动条 这仅适用于支持 min width CSS 属性的现代浏览器 我认为不可能限制用
  • 如何倾斜 div 并保持背景图像不倾斜

    我已经花了几个小时了 所以希望有人能提供帮助 我有一个网站 其中大部分 div 都是倾斜的 大多数 div 都包含背景图像 现在我已经让 div 倾斜了 内容完美地位于其中 唯一的问题是背景图像 它与父级一起倾斜 我用谷歌搜索了很多 但找不
  • 防止浮动换行,直到元素达到最小宽度

    我有可变宽度的 HTML 布局 内容左侧有一个固定宽度的菜单 div 可变宽度 由 css max width 和 min width 设置 对于非常窄的浏览器窗口 我希望内容包裹在菜单下方 我目前通过设置来实现这一点float left在
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 为什么“tbody”不设置表格的背景颜色?

    我在用 tbody 作为 CSS 选择器来设置background color在一个表中 我这样做是因为我有多个 tbody 表内的部分 它们具有不同的背景颜色 我的问题是 当使用border radius在细胞上 细胞不尊重backgro
  • 带显示块的SPAN

    和默认有什么区别 div 元素和默认值 span 元素与display block HTML 元素的有效性和语义存在差异 否则它们是相同的 div and span两者都被定义为通用容器 在 HTML 方面没有更深层次的含义 一个默认为块显

随机推荐

  • TP6的服务在自定义composer包中如何使用

    官方关于Service的说明文档 https www kancloud cn manual thinkphp6 0 1037490 做下概念说明 Service和Provider在TP6中扮演着不同的角色 Service是用于封装特定功能的
  • web 前端学习线路图

    web 前端学习线路图 一 HTML 教程 HTML教程 HTML简介 HTML编辑器 HTML基础 HTML元素 HTML属性 HTML标题 HTML段落 HTML样式 HTML格式化 HTML引用元素 HTML计算机代码元素 HTML注
  • 人工智能学习历程数学篇-概率论(1)

    人工智能学习历程数学篇 概率论 1 概率论基础 随机变量 概率论的一切定义的基础都来源于随机变量 那么何为随机变量呢 所谓的随机变量变量 X 并不代表一个具体的数字 而是一种概率分布 我们可以这样理解随机变量X 当你每次去看随机变量数据的具
  • java stringbuffer 赋值_Java常用类(String, StringBuffer, StringBuilder)

    一 String类 String的实例化方式 通过字面量定义的方式 String str hello world 通过new 构造器的方式 String str new String hello world 面试题 String s new
  • python读取excel某一区域单元格的内容

    sheet1 row values 0 6 10 取第1行 第6 10列 不含第10表 sheet1 col values 0 0 5 取第1列 第0 5行 不含第5行 sheet1 row slice 2 0 2 获取单元格值类型和内容
  • 【链表】循环链表知识点-内含代码基本操作及其说明

    目录 一 概念 二 循环链表基本操作 初始化 头插 插在最前面 尾插 查找数据 获取val的前驱 获得后继 删除数据 删除某位置的值 输出数据 判断plist是否为空链表 没有数据节点 获取plist长度 数据节点的个数 插入数据 获取pl
  • 最短路径算法 迪杰斯特拉、佛洛依德和贝尔曼

    最短路径算法 迪杰斯特拉算法 佛洛依德算法 迪杰斯特拉算法 迪杰斯特拉算法用来解决在有向有权图中某一个点到任意一点的最短路径问题 注意 只能用来解决权为非零的情况 不能够解决权为负数的情况 思想 我是一个搬运工 思想就不讲了 主要是代码 d
  • Vue基础入门---Vue-router

    简介 由于Vue在开发时对路由支持的不足 后来官方补充了vue router插件 它在Vue的生态环境中非常重要 在实际开发中只要编写一个页面就会操作vue router 要学习vue router就要先知道这里的路由是什么 这里的路由并不
  • vps用途

    VPS用途 1 虚拟主机空间 VPS主机非常适合为中小企业 小型门户网站 个人工作室 SOHO一族提供网站空间 较大独享资源 安全可靠的隔离保证了用户对于资源的使用和数据的安全 2 电子商务平台 VPS主机与独立服务器的运行完全相同 中小型
  • STL教程5-STL基本概念及String和vector使用

    活动地址 毕业季 进击的技术er 夏日炎炎 热浪中我们迎来毕业季 这是告别 也是迈向新起点的开始 CSDN诚邀各毕业生 在校生 职场人讲述自己的毕业季故事 分享自己的经验 技术er的进击之路 等你来书写 你可以选择适合自己的对应身份从以下相
  • Calendar根据当前(指定)日期取出指定时间

    以下为亲测 持续更新 一 Calendar根据当前 指定 日期取出本周一本周日和下周一下周日时间 根据Calendar java中定义的DAY OF WEEK来看 Field number for code get code and cod
  • 【LeetCode104】二叉树的最大深度(递归+迭代)

    题目描述 首刷自解 int maxDepth TreeNode root if root nullptr return 0 return max maxDepth root gt left maxDepth root gt right 1
  • k-means算法Python实现--机器学习ML

    k means algorithm 一些概念 partial clustering 每一簇的数据不重叠 至少一簇一个数据 hieraichical clustering 通过构建层次结构来确定聚类分配 density based clust
  • 设计模式-访问者模式

    1 访问者模式被称为最复杂的设计模式 访问者模式访问者模式 Visitor pattern 是一种将数据结构与数据操作分离的设计模式 是指封装一些作用于某种数据结构中的各元素的操作 它可以在不改变数据结构的前提下定义作用于这些元素的新的操作
  • png透明通道分离

    关于photoshop中png打开问题 前面也说到过http blog csdn net shenmifangke article details 52638716 ps在打开png格式图片的时候 实际上是把透明通道应用到了所有通道上 这样
  • IndentationError: unindent does not match any outer indentation level

    IndentationError unindent does not match any outer indentation level 遇到这个错误 是因为新的Python语法中是不支持的代码对齐中 混用TAB和空格的 解决方法 使用工具
  • 【C语言】之实现闰年判断

    文件名 leapYear c 功能 任意输入一个年份 判断其是否为闰年 编辑人 王廷云 include
  • VB+SQL银行设备管理系统设计与实现

    摘要 随着银行卡的普及 很多地方安装了大量的存款机 取款机和POS机等银行自助设备 银行设备管理系统可以有效的记录银行设备的安装和使用情况 规范对自助设备的管理 从而为用户提供更加稳定和优质的服务 本文介绍了银行设备管理系统的设计和开发过程
  • ooad设计模型

    设计模式 Design pattern 是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 使用设计模式是为了可重用代码 让代码更容易被他人理解 保证代码可靠性 毫无疑问 设计模式于己于他人于系统都是多赢的 设计模式使代码编
  • 前端之vue3使用动画库animate.css(含动画、过渡)

    动画与过渡 一 动画效果 1 默认动画 实例 动画语法 2 给transition指定name 二 过渡效果 三 多个元素过渡 四 vue3使用动画库 动画库animate css 五 总结 一 动画效果 1 默认动画 实例