08-Vue技术栈之过度与动画

news2024/11/17 23:27:36

目录

  • 1、作用
  • 2、写法
  • 3、动画的应用
  • 4、过度的应用
  • 5、animate.css动画库的使用

1、作用

在插入、更新或移除 DOM元素时,在合适的时候给元素添加样式类名。

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

2、写法

  1. 准备好样式:

    • 元素进入的样式:
      1. v-enter:进入的起点
      2. v-enter-active:进入过程中
      3. v-enter-to:进入的终点
    • 元素离开的样式:
      1. v-leave:离开的起点
      2. v-leave-active:离开过程中
      3. v-leave-to:离开的终点
  2. 使用<transition>包裹要过度的元素,并配置name属性:

    <transition name="hello">
    	<h1 v-show="isShow">你好啊!</h1>
    </transition>
    
  3. 备注:若有多个元素需要过度,则需要使用:<transition-group>,且每个元素都要指定key值。

3、动画的应用

  • 实现效果:

请添加图片描述
代码示例:

<template>
  <div>
    <button @click="isShow = !isShow" class="btn">点我切换动画</button>
	<!-- 若有多个元素需要过度,则需要使用:<transition-group>,且每个元素都要指定key值。 -->
	<!-- appear设置为true则让动画页面刷新时自动触发一次 -->
	<!-- 如果有多个transition标签则需要指定当前标签的name值,这样才可以为他们设置不同的动画 -->
    <transition-group  name="animation1" :appear="true">
      <div class="one" v-show="isShow" key="1">东方青云</div>
      <div class="one" v-show="isShow" key="2">东方青云</div>
    </transition-group>
  </div>
</template>

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

<style>
.btn {
  padding: 5px;
  background: #e09292;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}
.one {
  background: rgb(236, 142, 142);
  color: #fff;
  margin-top: 20px;
  padding: 15px;
}
/* 进入过程中 */
.animation1-enter-active {
	animation: animations 0.5s linear;
}
/* 离开过程中 */
.animation1-leave-active {
	animation: animations 0.5s linear reverse;
}
/*定义动画*/
@keyframes animations {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
</style>

4、过度的应用

  • 实现效果:

请添加图片描述
代码示例:

<template>
  <div>
    <button @click="isShow = !isShow" class="btn">点我切换动画</button>
    <!-- 若有多个元素需要过度,则需要使用:```<transition-group>```,且每个元素都要指定```key```值。 -->
    <!-- appear设置为true则让动画页面刷新时自动触发一次 -->
    <!-- 如果有多个transition标签则需要指定当前标签的name值,这样才可以为他们设置不同的动画 -->
    <transition-group name="animation1" :appear="true">
      <div class="one" v-show="isShow" key="1">东方青云</div>
      <div class="one" v-show="isShow" key="2">东方青云</div>
    </transition-group>
  </div>
</template>

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

<style>
.btn {
  padding: 5px;
  background: #e09292;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}
.one {
  background: rgb(236, 142, 142);
  color: #fff;
  margin-top: 20px;
  padding: 15px;
  transition: 0.5s linear;
}
/* 进入的终点,离开的起点 */
.animation1-enter-to,.animation1-leave {
	transform: translateX(0);
}
/* 进入的起点,离开的终点 */
.animation1-enter,.animation1-leave-to {
	transform: translateX(-100%);
}

</style>

5、animate.css动画库的使用

第一步:
安装动画包

npm install animate.css --save

第二步:
导入动画包

import "animate.css";

第三步:
安装 Animate.css 后,将类添加到元素中,以及任何动画名称

<h1 class="animate__animated animate__bounce">An animated element</h1>

实现效果:
请添加图片描述
代码示例:

<template>
  <div>
    <button @click="isShow = !isShow" class="btn">点我切换动画</button>
    <transition-group
      appear
      name="animate__animated animate__bounce"
      enter-active-class="animate__swing"
      leave-active-class="animate__backOutUp"
    >
      <div class="one" v-show="isShow" key="1">东方青云</div>
      <div class="one" v-show="isShow" key="2">东方青云</div>
    </transition-group>
  </div>
</template>

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

<style scoped>
.btn {
  padding: 5px;
  background: #e09292;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}
.one {
  background: rgb(236, 142, 142);
  color: #fff;
  margin-top: 20px;
  padding: 15px;
  transition: 0.5s linear;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

U-boot 的使用

编译U-Boot A. 首先在 Ubuntu 中安装 ncurses 库&#xff0c;否则编译会报错&#xff0c;安装命令如下&#xff1a; sudo apt-get install libncurses5-dev B. 解压缩&#xff1a; tar -vxjf uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2 C. 手工编译 uboot&#xff1a; make …

系统日志规范及最佳实践

作者&#xff1a;蓝旺 打印日志是一门艺术&#xff0c;日志信息是开发人员排查线上问题最主要的手段之一&#xff0c;但规范打日志被开发同学经常所忽视。日志就像保险&#xff0c;平时正常的时候用不上&#xff0c;但是一旦出问题就都想看有没有保险可以用。一条良好的日志&am…

4款不错的UI设计软件推荐

俗话说&#xff0c;如果工人想做好工作&#xff0c;他们必须首先磨利他们的工具。高质量的UI设计软件将使设计事半功倍。 近年来&#xff0c;UI设计软件的逐渐多样化&#xff0c;让一些需要使用UI设计软件的小伙伴不知道如何选择。 我整理了四款优秀的免费UI设计软件。别错过…

【C++】STL标准库之deque

STL标准库之deque 双端队列deque的介绍双端队列的底层结构双端队列的迭代器双端队列的缺陷为何将双端队列作为栈和队列的底层默认容器 双端队列deque的介绍 双端队列和我们常见的队列或者优先级队列不同&#xff0c;双端队列是一种双开口的连续空间的数据结构。双开口意味着它可…

盘点好用的3D渲染软件,哪个更适合你?

3D 渲染软件可以帮助建筑师和设计专业人士通过逼真的图像或视频将他们的 3D 模型变为现实&#xff0c;相信许多刚刚接触渲染行业的小伙伴都会有一个疑问&#xff0c;那就是五花八门的各色渲染软件&#xff0c;我究竟用哪个比较好&#xff1f;其实&#xff0c;选择3D渲染器主要还…

每日一题——反转字符串中的单词

每日一题 反转字符串中的单词 题目链接 思路&#xff08;进阶&#xff09; 我们首先不考虑太多限制因素&#xff0c;先看如何实现字符串中单词的反转 举个例子&#xff1a;我们要反转字符串“the sky is blue”中的单词&#xff0c;我们可以先将字符串中的每个字符反转“eht …

APP渗透—微信小程序、解包反编译、数据抓包

APP渗透—微信小程序、解包反编译、数据抓包 1. 前言2. 小程序抓包2.1. 安卓系统5.0版本测试2.1.1. 添加模拟器2.1.2. 安装证书2.1.2.1. 确保在同一局域网2.1.2.2. 设置burp工具2.1.2.3. 设置模拟器代理2.1.2.4. 下载证书2.1.2.5. 修改证书2.1.2.6. 安装证书 2.1.3. 抓包测试 2…

基于海鸥算法改进的随机森林回归算法 - 附代码

基于海鸥算法改进的随机森林回归算法 - 附代码 文章目录 基于海鸥算法改进的随机森林回归算法 - 附代码1.数据集2.RF模型3.基于海鸥算法优化的RF4.测试结果5.Matlab代码6.Python代码 摘要&#xff1a;为了提高随机森林数据的回归预测准确率&#xff0c;对随机森林中的树木个数和…

【机器学习】决策树如何实现回归

【机器学习】决策树如何实现回归 文章目录 【机器学习】决策树如何实现回归1. 介绍2. 回归树的构建方法3. 递归二分法4. 回归树的剪枝5. 总结参考 1. 介绍 在 https://blog.csdn.net/qq_51392112/article/details 中&#xff0c;我们详细介绍了决策树基本内容&#xff1a;如何…

Visual Studio搭建Linux环境

环境&#xff1a;ubantu22.04.2 Visual Studio2019 可以先参考这个文章 微软官网 1.在配置之前需要搭建好远程Linux系统的环境需要安装penssh-server、gdb、gdbserver&#xff1a; sudo apt-get install openssh-server sudo apt-get install gdb gdbserver2.然后启动ssh服务 …

Filename: “/usr/local/flexlm/licenses/license.dat“

故障现象1&#xff1a;学习安装vcs时&#xff0c;出现如下打印&#xff1a; 8:30:51 (lmgrd) Servers System Date and Time: Fri May 05 2023 08:30:51 EDT 8:30:51 (lmgrd) SLOG: Summary LOG statistics is enabled. 8:30:51 (lmgrd) license manager: cant initialize:Ca…

K8S管理系统项目实战[API开发]

前端: Vueelement plus 后端: gogin 后端 Go 快速入门 Gin Web框架 K8s管理系统项目实战[API开发] 项目背景&#xff0c;整体设计&#xff0c;Client-go&#xff0c;框架搭建 一、项目背景 随着容器技术的广泛应用&#xff0c;kubernetes逐渐成为业内的核心技术&#xf…

【SpringBoot】SpringBoot集成ElasticSearch

文章目录 第一步&#xff0c;导入jar包&#xff0c;注意这里的jar包版本可能和你导入的不一致&#xff0c;所以需要修改第二步&#xff0c;编写配置类第三步&#xff0c;填写yml第四步&#xff0c;编写util类第五步&#xff0c;编写controller类第六步&#xff0c;测试即可 第一…

黎曼几何与黎曼流形

目录 0.黎曼几何 1. 欧几里得几何与黎曼几何的区别 2.黎曼流形 3.黎曼距离 4.切空间 5.黎曼均值 6. SPD矩阵如何形成黎曼流型 7.切线空间映射 8.同余变换和同余不变 9.黎曼对齐 科普性笔记&#xff0c;做了解&#xff0c;不深入。 0.黎曼几何 黎曼几何是一种基于欧几…

MySQL 表操作

目录 创建表 案例 查看表结构 修改表 案例&#xff1a; 删除表 创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎 ; 说明&#xff1a; field 表示列名 dat…

【Vue学习笔记3】使用Vite开启一个Vue3工程项目

1. 什么是Vite? Vite是一个web开发构建工具。Vite 的竞品是 Webpack&#xff0c;而且按照现在的趋势看&#xff0c;使用率超过 Webpack 也是早晚的事。 Vite 主要提升的是开发的体验&#xff0c;Webpack启动调试环境需要 3 分钟都很常见&#xff0c;Vite大大缩短了这个时间。…

应急加固初试(windows sever 2008)

前言 红中(hong_zh0) CSDN内容合伙人、2023年新星计划web安全方向导师、 华为MindSpore截至目前最年轻的优秀开发者、IK&N战队队长、 吉林师范大学网安大一的一名普通学生、搞网安论文拿了回大挑校二、 阿里云专家博主、华为网络安全云享专家、腾讯云自媒体分享计划博主 …

SEO优化新手必须掌握的10个技巧和工具

随着互联网的不断发展&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已成为网站拓展和推广的重要手段之一。对于新手而言&#xff0c;学习SEO的基础知识和技巧是至关重要的。在本文中&#xff0c;我将分享SEO优化新手必须掌握的10个技巧和工具。 1.关键词研究 关键词是…

Spring Cloud学习笔记【分布式配置中心-Config】

文章目录 SpringCloud Config概述概述传统方式弊端主要功能与GitHub整合配置 Config服务端配置与测试服务端配置(即Gitee上的配置文件)Config Demo配置Spring Cloud Config访问规则 Config客户端配置与测试bootstrap.yml说明Config客户端 Demo配置 SpringCloud Config概述 概述…

学校信息化管理系统通常包含哪些功能?

学校管理信息化是现代教育发展的必然趋势&#xff0c;随着信息技术的飞速发展&#xff0c;学校管理也逐渐地实现了信息化。信息化的学校管理已经成为教育现代化建设的重要内容&#xff0c;也是提高学校教育教学质量和保障学生安全的重要手段。 作为一款低代码开发平台&#xf…