本文包括的动画:

  • 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. 【7】SpringBoot是什么?SpringBoot的优缺点有哪些?

    随着动态语言的流行(Ruby.Groovy.Scala.Node.js),Java 的开发显得格外的笨重,繁多的配置.低下的开发效率.复杂的部署流程以及第三方技术集成难度大. 在上述环境下,Sprin ...

  2. centos6.5源码编译http2.4.9、虚拟主机、基于用户认证

    centos6.5源码编译http2.4.9.虚拟主机.基于用户认证 2014-04-23 07:45  作者: 51linux  来源: 本站  浏览: 0 views  我要评论  字号: 大 中 ...

  3. 实战指南:使用 xUnit.DependencyInjection 在单元测试中实现依赖注入【完整教程】

    引言 上一篇我们创建了一个Sample.Api项目和Sample.Repository,并且带大家熟悉了一下Moq的概念,这一章我们来实战一下在xUnit项目使用依赖注入. Xunit.Depende ...

  4. Javascript中的继承?如何实现继承?

    一.是什么 继承(inheritance)是面向对象软件技术当中的一个概念 如果一个类别B"继承自"另一个类别A,就把这个B称为"A的子类",而把A称为&quo ...

  5. 力扣209(java&python)-长度最小的子数组(中等)

    题目: 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, ...

  6. SQL Server实战一:创建、分离、附加、删除、备份数据库

      本文介绍基于Microsoft SQL Server软件,实现数据库创建.分离.附加.删除与备份的方法. 目录 1 交互式创建数据库 2 Transact-SQL指定参数创建数据库 3 交互式分离 ...

  7. HarmonyOS NEXT应用开发之Tab组件实现增删Tab标签

    介绍 本示例介绍使用了Tab组件实现自定义增删Tab页签的功能.该场景多用于浏览器等场景. 效果图预览 使用说明: 点击新增按钮,新增Tab页面. 点击删除按钮,删除Tab页面. 实现思路 设置Tab ...

  8. [FAQ] 如何避免过度依赖百度, 甚至超越百度

    查找信息,你不依赖百度,势必要依赖其它. 那么如何超越百度搜索,也必须要站在巨人的肩膀上. 搜索市场已有不少巨头,最简单的超越办法是:站在所有巨人的肩膀上. Other:搜索的超越 Link:http ...

  9. dotnet 6 为什么网络请求不跟随系统网络代理变化而动态切换代理

    本文记录在 dotnet 6 的网络和在 .NET Framework 的行为的变更.在 dotnet 6 下,默认的网络请求在系统网络代理变更的时候,是不会动态切换代理的.例如在应用运行进行网络通讯 ...

  10. centos7虚拟机部署netcore3.1服务供局域网访问

    如果买了亚马逊.腾讯.阿里等服务器,基本上几分钟就可以跑aspnetcore,外网访问分分钟.但是便宜点的服务器访问速度就没那么理想.这时候就需要考虑零成本的虚拟机部署了,当然这个基本都是局域网做测试 ...