本文包括的动画:

  • zoom-in

    • zoom-in-left
    • zoom-in-right
    • zoom-in-top
    • zoom-in-bottom
    • zoom-in-center-x
    • zoom-in-center-y
  • slide
    • slide-left
    • slide-right
    • slide-top
    • slide-bottom

zoom-in-left

.ivy-zoom-in-left-enter-active,
.ivy-zoom-in-left-leave-active {
transition: all 0.3s ease;
} .ivy-zoom-in-left-enter-from,
.ivy-zoom-in-left-leave-to {
transform-origin: top left;
opacity: 0;
transform: scaleX(0.5);
} .ivy-zoom-in-left-enter-to,
.ivy-zoom-in-left-leave-from {
transform-origin: top left;
opacity: 1;
transform: scaleX(1);
}

zoom-in-right

.ivy-zoom-in-right-enter-active,
.ivy-zoom-in-right-leave-active {
transition: all 0.3s ease;
} .ivy-zoom-in-right-enter-from,
.ivy-zoom-in-right-leave-to {
transform-origin: top right;
opacity: 0;
transform: scaleX(0.5);
} .ivy-zoom-in-right-enter-to,
.ivy-zoom-in-right-leave-from {
transform-origin: top right;
opacity: 1;
transform: scaleX(1);
}

zoom-in-top

.ivy-zoom-in-top-enter-active,
.ivy-zoom-in-top-leave-active {
transition: all 0.3s ease;
} .ivy-zoom-in-top-enter-from,
.ivy-zoom-in-top-leave-to {
transform-origin: top left;
opacity: 0;
transform: scaleY(0.5);
} .ivy-zoom-in-top-enter-to,
.ivy-zoom-in-top-leave-from {
transform-origin: top left;
opacity: 1;
transform: scaleY(1);
}

zoom-in-bottom

.ivy-zoom-in-bottom-enter-active,
.ivy-zoom-in-bottom-leave-active {
transition: all 0.3s ease;
} .ivy-zoom-in-bottom-enter-from,
.ivy-zoom-in-bottom-leave-to {
transform-origin: bottom left;
opacity: 0;
transform: scaleY(0.5);
} .ivy-zoom-in-bottom-enter-to,
.ivy-zoom-in-bottom-leave-from {
transform-origin: bottom left;
opacity: 1;
transform: scaleY(1);
}

zoom-in-center-x

.ivy-zoom-in-center-x-enter-active,
.ivy-zoom-in-center-x-leave-active {
transition: all 0.3s ease;
} .ivy-zoom-in-center-x-enter-from,
.ivy-zoom-in-center-x-leave-to {
transform-origin: center center;
opacity: 0;
transform: scaleY(0);
} .ivy-zoom-in-center-x-enter-to,
.ivy-zoom-in-center-x-leave-from {
transform-origin: center center;
opacity: 1;
transform: scaleY(1);
}

zoom-in-center-y

.ivy-zoom-in-center-y-enter-active,
.ivy-zoom-in-center-y-leave-active {
transition: all 0.3s ease;
} .ivy-zoom-in-center-y-enter-from,
.ivy-zoom-in-center-y-leave-to {
transform-origin: center center;
opacity: 0;
transform: scaleX(0);
} .ivy-zoom-in-center-y-enter-to,
.ivy-zoom-in-center-y-leave-from {
transform-origin: center center;
opacity: 1;
transform: scaleX(1);
}

slide-left

.ivy-slide-left-enter-active,
.ivy-slide-left-leave-active {
transition: all 0.3s ease;
} .ivy-slide-left-enter-from,
.ivy-slide-left-leave-to {
transform-origin: top left;
opacity: 0;
transform: translateX(-80%);
} .ivy-slide-left-enter-to,
.ivy-slide-left-leave-from {
transform-origin: top left;
opacity: 1;
transform: translateX(0);
}

slide-right

.ivy-slide-right-enter-active,
.ivy-slide-right-leave-active {
transition: all 0.3s ease;
} .ivy-slide-right-enter-from,
.ivy-slide-right-leave-to {
transform-origin: top right;
opacity: 0;
transform: translateX(80%);
} .ivy-slide-right-enter-to,
.ivy-slide-right-leave-from {
transform-origin: top right;
opacity: 1;
transform: translateX(0);
}

slide-top

.ivy-slide-top-enter-active,
.ivy-slide-top-leave-active {
transition: all 0.3s ease;
} .ivy-slide-top-enter-from,
.ivy-slide-top-leave-to {
transform-origin: top left;
opacity: 0;
transform: translateY(-100%);
} .ivy-slide-top-enter-to,
.ivy-slide-top-leave-from {
transform-origin: top left;
opacity: 1;
transform: translateY(0);
}

slide-bottom

.ivy-slide-bottom-enter-active,
.ivy-slide-bottom-leave-active {
transition: all 0.3s ease;
} .ivy-slide-bottom-enter-from,
.ivy-slide-bottom-leave-to {
transform-origin: bottom left;
opacity: 0;
transform: translateY(100%);
} .ivy-slide-bottom-enter-to,
.ivy-slide-bottom-leave-from {
transform-origin: bottom left;
opacity: 1;
transform: translateY(0);
}

在vue中使用

<template>
<transition name="ivy-slide-bottom">
<div v-show="visible"></div>
</transition>
</template>
<script setup>
import { ref } from "vue";
const visible = ref(false);
</script>
<style>
.ivy-slide-bottom-enter-active,
.ivy-slide-bottom-leave-active {
transition: all 0.3s ease;
} .ivy-slide-bottom-enter-from,
.ivy-slide-bottom-leave-to {
transform-origin: bottom left;
opacity: 0;
transform: translateY(100%);
} .ivy-slide-bottom-enter-to,
.ivy-slide-bottom-leave-from {
transform-origin: bottom left;
opacity: 1;
transform: translateY(0);
}
</style>

查看动画演示

vue实现的常见的动画效果的更多相关文章

  1. vue基于 element-ui 实现菜单动画效果,任意添加 li 个数均匀撑满 ul 宽度

    %)%)%%%))) .) .) .) .) .) .) .) .) .) .) .) .) .) .) .) .% %% %deg);}

  2. JQuery(二)——简单动画效果

    上一篇博客总结了JQuery的一些基本知识,这篇博客重点从JQuery能够制造各种各样的网页效果方面来进行总结.总结一些常见的常用的基本效果的必备方法.从隐藏显示,淡入淡出,滑动,动画等几个方面来简单 ...

  3. paip.关于动画效果的原则 html js 框架总结

    paip.关于动画效果的原则 html js 框架总结 1. 动画框架的来源:flex,jqueryui 3 2. 特效的分类 3 2.1. Property effects 动态改变一个或多个目标对 ...

  4. 前端 ----jQuery的动画效果

    03-jQuery动画效果   jQuery提供的一组网页中常见的动画效果,这些动画是标准的.有规律的效果:同时还提供给我们了自定义动画的功能. 显示动画 方式一: $("div" ...

  5. 03-jQuery动画效果

    Query提供的一组网页中常见的动画效果,这些动画是标准的.有规律的效果:同时还提供给我们了自定义动画的功能. 显示动画 方式一: $("div").show(); 解释:无参数, ...

  6. python 全栈开发,Day53(jQuery的介绍,jQuery的选择器,jQuery动画效果)

    js总结 js: 1.ECMAScript5 ES5语法 2.DOM CRUD 获取 3种方式 id tag className //面向对象 对象 : 属性和方法 某个对象中 function $( ...

  7. jquey动画效果

    jquery的事件没有on,js的有. 1.show()  显示  由小变大缓慢显示 <html lang="en"> <head> <meta ch ...

  8. jQuery系列(三):jQuery动画效果

    jQuery提供的一组网页中常见的动画效果,这些动画是标准的.有规律的效果:同时还提供给我们了自定义动画的功能. 1.显示动画 方式一: $("div").show(); 解释:无 ...

  9. python 全栈开发,Day53(jQuery的介绍,jQuery的选择器,jQuery动画效果)

    01-jQuery的介绍 1.为什么要使用jQuery 在用js写代码时,会遇到一些问题: window.onload 事件有事件覆盖的问题,因此只能写一个事件. 代码容错性差. 浏览器兼容性问题. ...

  10. Java 给PPT添加动画效果(预设动画/自定义动画)

    PPT幻灯片中对形状可设置动画效果,常见的动画效果为内置的固定类型,即动画效果和路径是预先设定好的固定模板,但在设计动画效果时,用户也可以按照自己的喜好自定义动画动作路径.下面,通过Java后端程序代 ...

随机推荐

  1. 设置 BCompare 打开文件时的默认字符编码

    每次比对 .h .cpp 文件,BCompare总是默认以西欧字符编码打开文件,导致中文都变成乱码了,还需要手动的修改文件字符编码,这样才能正常的显示.非常的不方便 然后我们就需要设置默认的字符编码, ...

  2. HUAWEI DevEco Studio 3.1版本发布,配套ArkTS声明式开发全面升级

     原文:https://mp.weixin.qq.com/s/ap5gH7vm3BUm0nU2WOzAzw,点击链接查看更多技术内容.     今年开发者大会发布了HarmonyOS应用开发套件Dev ...

  3. c# semaphoreSlim限制线程数

    前言 我们在使用线程的时候,如果多个线程数去访问一个资源的时候,那么是非常影响程序的运行的,因为如果有写的操作,那么需要写锁,那么线程都会堵在同一个地方,那么我们可以限制一下访问一个资源的线程数. 正 ...

  4. mmdetection训练自己的模型【数据集转变,数据集划分,数据集gt可视化,mmdetection配置文件生成及修改,开始训练,gradio部署】

    针对有一点mmdetction基础的,然后想根据自己的数据集,熟练训练自己的模型.需要改成自己配置的地方,我会在代码中做好标记,方便修改. 我们先了解一下mmdetection的基本流程,你想训练一个 ...

  5. vue-cli-service 不是内部或者外部命令

    原因一. 新拉取的项目没有执行 npm install,找不到相关的依赖包(也就是说没有node_modules文件夹). 解决方法: 执行下 npm install 即可 原因二. 项目的依赖包损坏 ...

  6. axios 使用与 拦截器

    未拦截使用使用: 由于axios每个请求都是异步.例如有ABC三个请求,C需要拿到AB请求回来的值作为参数,则需同步加载才能,所以使用axios.all才好完成.... 拦截器:为了处理axios中g ...

  7. C#S7.NET实现西门子PLCDB块数据采集的完整步骤

    前言 本文介绍了如何使用S7.NET库实现对西门子PLC DB块数据的读写,记录了使用计算机仿真,模拟PLC,自至完成测试的详细流程,并重点介绍了在这个过程中的易错点,供参考. 用到的软件: 1.Wi ...

  8. 力扣1076(MySQL)-员工项目Ⅱ(简单)

    题目: 编写一个SQL查询,报告所有雇员最多的项目. 查询结果格式如下所示:  解题思路: 方法一:将两个表联结,以project_id进行分组,统计员工数降序排序,然后筛选出第一条数据. 1 sel ...

  9. 如何使用 Kubernetes 监测定位慢调用

    ​简介:本次课程主要分为三大部分,首先将介绍慢调用的危害以及常见的原因:其次介绍慢调用的分析方法以及最佳实践:最后将通过几个案例来去演示一下慢调用的分析过程. 作者:李煌东 大家好,我是阿里云的李煌东 ...

  10. [FAQ] IDE: Goland or PHPStorm 分屏操作

    如图所示,文件上面点击右键,选择 Split Right 就可以在右侧分屏出编辑区. Refer:Goland下载 PHPStorm下载 Link:https://www.cnblogs.com/fa ...