vue 使用 Animate.css 实现 联系我们 组件开发

2023-11-02

首先 要清楚, Animate.css 是一个 css动画库,为我们封装好了动画效果,我们只需要根据需求选择对应的css写入到div上即可:
animate.css: https://animate.style/

	fade: {
        title: '淡入淡出',
        fadeIn: '淡入',
        fadeInDown: '向下淡入',
        fadeInDownBig: '向下快速淡入',
        fadeInLeft: '向右淡入',
        fadeInLeftBig: '向右快速淡入',
        fadeInRight: '向左淡入',
        fadeInRightBig: '向左快速淡入',
        fadeInUp: '向上淡入',
        fadeInUpBig: '向上快速淡入',
        fadeOut: '淡出',
        fadeOutDown: '向下淡出',
        fadeOutDownBig: '向下快速淡出',
        fadeOutLeft: '向左淡出',
        fadeOutLeftBig: '向左快速淡出',
        adeOutRight: '向右淡出',
        fadeOutRightBig: '向右快速淡出',
        fadeOutUp: '向上淡出',
        fadeOutUpBig: '向上快速淡出'
      },
      bounce: {
        title: '弹跳类',
        bounceIn: '弹跳进入',
        bounceInDown: '向下弹跳进入',
        bounceInLeft: '向右弹跳进入',
        bounceInRight: '向左弹跳进入',
        bounceInUp: '向上弹跳进入',
        bounceOut: '弹跳退出',
        bounceOutDown: '向下弹跳退出',
        bounceOutLeft: '向左弹跳退出',
        bounceOutRight: '向右弹跳退出',
        bounceOutUp: '向上弹跳退出'
      },
      zoom: {
        title: '缩放类',
        zoomIn: '放大进入',
        zoomInDown: '向下放大进入',
        zoomInLeft: '向右放大进入',
        zoomInRight: '向左放大进入',
        zoomInUp: '向上放大进入',
        zoomOut: '缩小退出',
        zoomOutDown: '向下缩小退出',
        zoomOutLeft: '向左缩小退出',
        zoomOutRight: '向右缩小退出',
        zoomOutUp: '向上缩小退出'
      },
      rotate: {
        title: '旋转类',
        rotateIn: '顺时针旋转进入',
        rotateInDownLeft: '从左往下旋入',
        rotateInDownRight: '从右往下旋入',
        rotateInUpLeft: '从左往上旋入',
        rotateInUpRight: '从右往上旋入',
        rotateOut: '顺时针旋转退出',
        rotateOutDownLeft: '向左下旋出',
        rotateOutDownRight: '向右下旋出',
        rotateOutUpLeft: '向左上旋出',
        rotateOutUpRight: '向右上旋出'
      },
      flip: {
        title: '翻转类',
        flipInX: '水平翻转进入',
        flipInY: '垂直翻转进入',
        flipOutX: '水平翻转退出',
        flipOutY: '垂直翻转退出'
      },
      strong: {
        title: '强调类',
        bounce: '弹跳',
        flash: '闪烁',
        pulse: '脉冲',
        rubberBand: '橡皮筋',
        shake: '左右弱晃动',
        swing: '上下摆动',
        tada: '缩放摆动',
        wobble: '左右强晃动',
        jello: '拉伸抖动'
      }

在vue中使用:


npm install animate.css --save

main.js中:
import animated from 'animate.css' // npm install animate.css --save安装,在引入
Vue.use(animated)

实现效果如下, 从下到上 动画弹出, 从上到下动画消失.
在这里插入图片描述
在这里插入图片描述
核心代码如下:
子组件:

<div id="connect-us-outer">
    <!-- <el-button @click="showDiaog">connect us</el-button> -->
    <div class="connect-btn" @click="showDiaog" v-show="!visible">
      Connect us
    </div>

    <transition
      enter-active-class="animate__fadeInUp"
      leave-active-class="animate__fadeOutDown"
    >
      <div class="connect-us-custom-dialog animate__animated" v-show="visible">
        <div class="header">
          <slot name="header"> </slot>
          <div class="close-dialog" v-show="showClose" @click="showDiaog">
            <i class="el-icon-close"></i>
          </div>
        </div>
        <el-divider></el-divider>
        <div class="body">
          <slot name="body"></slot>
        </div>
      </div>
    </transition>
  </div>


<style lang="scss">
#connect-us-outer {
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 9999;
  .connect-btn {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    box-shadow: 0 2px 12px 0 #ccc;
    padding: 10px;
    cursor: pointer;
  }
  .connect-us-custom-dialog {
    width: 300px;
    height: 500px;
    box-shadow: 0 2px 12px 0 #ccc;
    background-color: #fff;
    position: fixed;
    right: 20px;
    bottom: 20px;
    .header {
      padding: 5px;
      display: flex;
      justify-content: space-between;
      height: 40px;
      line-height: 40px;
      .close-dialog {
        cursor: pointer;
      }
    }
    .el-divider {
      margin: 10px 0;
    }
    .body {
      padding: 5px;
    }
  }
}
</style>

父组件:

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

vue 使用 Animate.css 实现 联系我们 组件开发 的相关文章

随机推荐

  • 腾讯软件测试岗二面:web 测试问题被虐哭了,直到学长给了我这些知识点.....

    web 测试一直是大厂软件测试问到的一个重点 下面给大家展示下大厂关于web 测试经常会问到的一些问题 以及解析 看当面试官问到你这些问题的时候 你是否也能够对答如流 web 测试面试真题及解析 一 描述用浏览器访问 www baidu c
  • linux boot 查看module信息

    1 查看内置模块信息 lib modules uname r modules builtin 如 cat lib modules linux4 15 0 modules builtin 或者grep y boot config 4 15 0
  • 虚拟机服务器类型,不同类型的虚拟化 Type-1和Type-2虚拟化?服务器的类型和功能...

    今天 我写了关于新型Type 0虚拟机办理法式的消息 以及它们将若何发生一些影响 不只对拥无复杂办事器场的企业如斯 并且还会若何将其过滤抵家用计较机的桌面上 也许最迟是正在来岁 可是 它是Type 0 虚拟机办理法式 现实上是我所说的Typ
  • SpringBoot第47讲:SpringBoot定时任务 - Netty HashedWheelTimer方式

    SpringBoot第47讲 SpringBoot定时任务 Netty HashedWheelTimer方式 timer 和 ScheduledExecutorService 是JDK内置的定时任务方案 而业内还有一个经典的定时任务的设计叫
  • 重定向标准输出流到串口注意

  • 02. 青龙面板应用——安装依赖拉取仓库运行京东脚本(保姆级图文)

    目录 1 安装依赖 1 1 常用依赖 1 2 安装指定依赖 2 定时规则 3 常用的仓库地址 4 添加订阅 5 运行订阅 6 获取京东手机版cookie 7 在青龙面板中添加京东cookie 8 测试任意一个京东的定时任务 总结 欢迎关注
  • python json.dumps 中文编码

    json dumps var ensure ascii False 并不能解决中文乱码的问题 python 2 7版本 coding utf 8 m a 你好 print m gt a xe4 xbd xa0 xe5 xa5 xbd pri
  • jvm常量池,运行时常量池,字符串常量池

    jvm中的常量池分为三种 1 类文件常量池 Class Constant Pool 也称静态常量池 2 运行时常量池 Runtime Constant Pool 3 字符串常量池 String Constant Pool 1 类文件常量池
  • 【UE4】UE4内使用Sqlite数据库

    写在前面 系统环境 Win10 X64 引擎版本为 UE4 17 2 编译器版本为 VS2015Pro 因为项目需要数据库对一些数据进行管理和其他的操作 所以花了些时间研究了一下如何在UE4中使用Sqlite数据库 围观了许多Blog和An
  • 什么是单页面,什么是多页面,单页面和多页面的区别

    SPA单页面应用 指只有一个主页面的应用 一开始只需要加载一次css js等相关资源 所有内容都包含在主页面 对每一个功能模块组件化 单页面应用跳转 就是切换相关组件 仅仅只是刷新局部资源 MPA多页面应用 指有多个独立页面的应用 每个页面
  • C++ Class Mapped Google Protocol Buffer Message

    摘要 Google Protocol Buffer 是一个优秀的基于二进制的网络消息编解码框架 应用于项目时 可以节省不少的人力资源 开发时间和程序BUG 但其不足之处是protobuf编译器生成的C 消息类 或者Java等其他语言的消息类
  • Web 前端开发技术 —— JavaScript

    Web 前端开发技术 JavaScript 总结 JavaScript 内容 文章目录 Web 前端开发技术 JavaScript 一 js 的引用方式与执行顺序 1 引用方式 在标签中直接写 js 代码 复用 js 代码 通过 impor
  • PL/SQL DEVELOPER执行计划的查看 (转)

    字号 订阅 这里 我学到的一个很重要的东西 就是用 PL SQL DEVELOPER去看一条 SELECT语句的执行计划 执行计划里面可以看到这条 SELECT语句的开销 I O操作开销等数值 可以很清晰地看到语句各个部分的执行效率 选中这
  • 电子科技大学操作系统期末复习笔记(二):进程与并发控制

    目录 前言 进程管理 进程基本知识 程序的顺序执行 前趋图 程序的并发执行 并发程序 进程的定义和特征 进程的特征和状态 操作系统内核 定义 功能 原语 原子操作的实现 操作系统控制结构 进程控制块PCB 进程组织 进程树 进程的创建 进程
  • openwrt路由器不断重启问题原因

    重新烧固件之后 openwrt不断重启 df h一看root的空间已满 这说明了原因是flash存储容量不够了 减掉一些不需要的功能重新编译烧固件 或者增加存储来解决吧
  • 解决 docker 容器无法通过 IP 访问宿主机问题

    问题起源 在使用 docker 的过程中我不幸需要在 docker 容器中访问宿主机的 80 端口 而这个 80 端口是另外一个容器 8080 端口映射出去的 当我在容器里通过 docker 的网桥 172 17 0 1 访问宿主机时 居然
  • 如何搭建从DNS服务器

    准备 两台主机 一台主 一台从 1 在从节点 vim etc named rfc1912 zones zone magedu com type slave masters 192 168 37 7 file slaves magedu co
  • m皇后(小白版)

    m皇后 牛客 题目链接 本题 https ac nowcoder com acm problem 15295 八皇后问题 题目链接 NOI http noi openjudge cn ch0205 1700 洛谷 https www luo
  • CSS in JS之styled-components

    代码已经关联到github 链接地址 觉得不错可以顺手点个star 这里会持续分享自己的开发经验 我们都知道 JSX是JS语法的扩展 增加了对HTML语法的支持 那距离all in js就只差一个CSS语法支持了 目前实现该功能的库比较出名
  • vue 使用 Animate.css 实现 联系我们 组件开发

    首先 要清楚 Animate css 是一个 css动画库 为我们封装好了动画效果 我们只需要根据需求选择对应的css写入到div上即可 animate css https animate style fade title 淡入淡出 fad