Vue2使用过渡标签transition使用动画

2023-10-31

注意:动画必须使用v-if || v-show配合 

1、Vue2配Css3实现

  • 我们需要使用 过渡 标签 <transition> :

    <transition name="hello" appear>
      <h1 v-show="isShow">你好啊!</h1>
    </transition>

     :appear="true" [值需要的是布尔值,所以需要用v-bind绑定] 也可以直接写 【appear】
     appear 使用效果是:打开页面立马执行一次过来的动画
  • css3方案一:在样式style标签里面设置动画

        【给来和走的样式的名字定义为 v-enter-active | v-leave-active,设置name的值,需要把v 改成它】

<style>
h1 {
  background-color: orange;
}
/* 如果过渡标签加了name属性,下面的v需要改为name的值 
.v-enter-active {
  animation: gbase 1s;
}
.v-leave-active {
  animation: gbase 1s reverse;
}
*/
.hello-enter-active {
  animation: gbase 1s;
}
.hello-leave-active {
  animation: gbase 1s reverse;
}
@keyframes gbase {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0px);
  }
}
</style>
  • 注意:vue解析的时候 <transition> 就没有了

  • 源码

<template>
  <div>
    <button @click="isShow = !isShow">显示/隐藏</button>
    <!--//todo 使用动画 [ 标签必须使用v-if||v-show才行 ]
      //todo 1、使用 过渡 标签 <transition> 【里面有一个属性name 标志它的名字】
      //todo 2、在样式style标签里面设置动画
      //todo 3、给来和走的样式的名字定义为 v-enter-active | v-leave-active 【设置name的值,需要把v 改成它】
     -->
    <!-- //? 注意 vue解析的时候 <transition> 就没有了 -->
    <!-- //todo :appear="true" [值需要的是布尔值,所以需要用v-bind绑定] 也可以直接写 【appear】
         //* appear 使用效果是:打开页面立马执行一次过来的动画 -->
    <transition name="hello" appear>
      <h1 v-show="isShow">你好啊!</h1>
    </transition>
  </div>
</template>

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

<style>
h1 {
  background-color: orange;
}
.hello-enter-active {
  animation: gbase 1s;
}
.hello-leave-active {
  animation: gbase 1s reverse;
}
@keyframes gbase {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0px);
  }
}
</style>
  • 其他属性样式

  • <transition>标签 里面只能使用一个 DOM 标签

  • 使用 <transition-group> 可以里面放多个标签使用动画 【但是里面加动画的标签需要加 唯一标识key

    <transition-group name="hello" appear>
      <h1 v-show="isShow" key="1">你好啊!</h1>
      <h1 v-show="!isShow" key="2">我不好啊!</h1>
    </transition-group>
  • css3方案2

<style>
h1 {
  background-color: orange;
  /* transition: 0.5 linear; */
}
todo 进入的起点
.hello-enter {
  transform: translateX(-100%);
}
 todo 进入的终点
.hello-enter-to {
  transform: translateX(0px);
}
 todo 离开的起点
.hello-leave {
  transform: translateX(0px);
}
 todo 离开的终点
.hello-leave-to {
  transform: translateX(-100%);
}

简写 :进入的起点 就是 离开的终点
.hello-enter,
.hello-leave-to {
  transform: translateX(-100%);
}
.hello-enter-active,
.hello-leave-active {
  或者写在需要加动画的标签里面
  transition: 0.5 linear;
}
简写 :进入的终点 就是 离开的起点
.hello-enter-to,
.hello-leave {
  transform: translateX(0px);
}
</style>

2、vue2配合 animate库使用动画

  • npm install animate.css : 安装并使用动画库

  • import "animate.css"; 引入该库

  • 设置 name="animate__animated animate__bounce"

  • https://animate.style/里面找动画,把动画名称赋值给enter-active-class 、leave-active-class这两个属性

 

    <transition-group
      name="animate__animated animate__bounce"
      appear
      enter-active-class="animate__jackInTheBox"
      leave-active-class="animate__fadeOut"
    >
      <h1 v-show="isShow" key="1">你好啊!</h1>
    </transition-group>
  • 源码

<template>
  <div>
    <button @click="isShow = !isShow">显示/隐藏</button>

    <!-- // todo 2、设置 name="animate__animated animate__bounce" -->
    <!-- // todo 3、去https://animate.style/ 里面找动画 -->
    <transition-group
      name="animate__animated animate__bounce"
      appear
      enter-active-class="animate__jackInTheBox"
      leave-active-class="animate__fadeOut"
    >
      <h1 v-show="isShow" key="1">你好啊!</h1>
    </transition-group>
  </div>
</template>

// npm install animate.css : 安装并使用动画库
<script>
// todo 1、因为是一个样式,可以直接引入文件
import "animate.css";

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

<style>
h1 {
  background-color: orange;
  /* transition: 0.5 linear; */
}
</style>

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

Vue2使用过渡标签transition使用动画 的相关文章

随机推荐

  • Docker 安装 Nginx

    Docker 安装 Nginx 查找Docker Hub 上的 nginx 镜像 root iz2ze7rz0layh39ol2qog2z docker search nginx 拉取官方的镜像 docker pull nginx 下载结束
  • 傅里叶光学随机散斑原理 & matlab仿真实现随机散斑

    2019年12月26日 本人第三篇博客终于出来了 撒花庆祝 最近在学习傅里叶光学相关知识 将近期整理的知识点做一记录 主要围绕随机散斑 因为主要为自己记录 加之才疏学浅 实在难以做到表述严谨 面面俱到 还望见谅 这一篇将从以下几个方面来整理
  • vscode中git的使用

    问题 重新创建分支 码完代码 提交到git仓库时 发现git branch 命令显示不了本地分支 原因 克隆远程仓库后 没有了本地分支名 解决思路 本地没有了分支文件 远程的分支完整 那么将本地文件与远程仓链接起来 然后在本地创建相应的分支
  • centos7与centos8区别

    目录 1 红帽RHEL8和RHEL7功能区别对比 1 1 默认的文件系统 1 2 RHEL8与RHEL7的内核版本分别是多少 1 3 内核代码名字 1 4 标准 默认的仓库频道 1 5 网络时间同步 1 6 支持最大的文件 1 7 软件包管
  • matlab 深度网络,深度信念网络matlab代码

    实例简介 深度信念网络 有代码 有实例 有数据 用于深度网络预训练 实例截图 核心代码 DBN代码 DBN代码 Readme txt isir例子RBM adealdata m amydata mat apretrain m checkrb
  • SQL删除重复记录保留最大值

    简介 backends alertdata 这个表格里面有很多的重复数据 其中每一条重复数据的fingerprint 字段都是一样的 aid 这个是自增字段 是主键 现在需要将这些重复数据删除 但是只保留aid 最大的一条数据 SQL语句
  • 一个1000元的爬虫外包项目,三种爬虫模式给你轻松做出来

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 如有问题请及时联系我们以作处理 对于这个外包给予的网站信息 那么我们就爬取选择第一个吧 lt 猎聘网 gt 也就简单实现 并不会进行打包处理 以及输入关键字爬取 本篇
  • 关于MySQL多表连接查询

    select a c device name from device warn as a inner join user warn as b on a id b warn id and b state 1 inner join device
  • 指针传递和引用传递

    指针传递和引用传递 为了更好的理解指针和引用 下面介绍一下指针传递和引用传递 当指针和引用作为函数的参数是如何传值的呢 指针传递参数本质上是值传递的方式 它所传递的是一个地址值 值传递过程中 被调函数的形式参数作为被调函数的局部变量处理 即
  • 协同过滤-图书馆图书推荐系统(JAVA,JSP,SSM,MYSQL)

    协同过滤 图书馆图书推荐系统 JAVA JSP SSM MYSQL 毕业论文27564字 共78页 程序代码 MySQL数据库 链接 https pan baidu com s 1PilFCeVoH3S2VYwfrdMgnQ 提取码 888
  • 启用Bazel的远端缓存,加速团队协作效能

    背景 多人协同的项目 大家各自开心地在在自己的本地进行编译 调试 这样就存相同的编译 在不同人的电脑上重复执行 浪费计算资源不说 更重要造成了不必要的等待 如果是在本机编译 编译过程CPU耗尽 机器肯定卡 较大的项目编译时可能需要暂停工作
  • CTFshow 愚人节欢乐赛 部分WP

    文章目录 1 签到 2 特殊base 3 这太哈人了 4 你会弹钢琴吗 5 config 6 以旧换新 签退 送分 7 Las Vegas历险记 6 8 Kanna Kamui 9 php的简单RCE 10 暴躁的zip 1 签到 跟群主对
  • 有关上拉输入、下了输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别

    有关上拉输入 下了输入 推挽输出 开漏输出 复用开漏输出 复用推挽输出以及 浮空输入 模拟输入区别 最近在网上看见一些人对STM32的八种方式的解释 说了一大堆 最后看完了 也不知道讲了什么 为了方便大家一目了然 本人总结如下 希望对大家有
  • Visio简单使用

    查看入门图表 深入了解并开始自行创建内容前 我们将展示 Visio 提供的多个入门图表 通过这种方式 可了解程序中的图表的观感 单击 类别 单击 流程图 现在请注意本步骤 单击 基本流程图 缩略图 下面介绍此对话的全部内容 如果有一些使用
  • 计算机网络基础知识 - 物理层

    第一章 概述 1 计算机网络 定义 计算机网络是指将不同地理位置 具有独立功能的多台计算机设备 通过通信线路连接起来 在网络操作系统 网络管理软件和网络通信协议的管理和协调下实现资源共享 信息传递 网络连接或远程访问等应用目的的计算机系统
  • 一个40岁程序员的经历

    有好几年没有上CSDN了 最近密码泄露事件 才让人想起久违的csdn 还好 通过注册邮箱顺利的找回了密码 十年前的时候 常在csdn潜水的老人们 现在还有人再来csdn吗 估计大部分都已经转行 当管理者或者当老板了吧 仍然做软件的可能只是极
  • 毕业设计成品网站集锦

    帮大家汇总下 今年比较热门的毕业设计选题 毕业设计成品网站的模板 适用性比较强 性价比也比较高 大家可以参考下 一 在线购物商城 題目 购物网站毕业设计 二 旅游网站 題目 基于web的旅游网站毕业设计
  • linux c语言 创建线程任务

    include
  • 使用AJAX修改把商品添加到购物车

    使用AJAX修改把商品添加到购物车 protected void ajaxAddItem HttpServletRequest req HttpServletResponse resp throws ServletException IOE
  • Vue2使用过渡标签transition使用动画

    注意 动画必须使用v if v show配合 1 Vue2配Css3实现 我们需要使用 过渡 标签