1.哪些元素/那些组件适合在那些条件下实现动画效果

  • 条件渲染 (使用 v-if)
  • 条件展示 (使用 v-show)
  • 动态组件
  • 组件根节点

简单经典例子:(文字隐藏到显示效果)

<div>
<button @click="show = !show">show toggle</button>
<transition name="fade"> //fade 自定义名称
<p v-if="show">hello</p>
</transition>
</div> <style>
.fade-enter-active{
transition: opacity .5s; //类名:隐藏到显示过程所需要的时间
}
.fade-enter { // 类名:初始化状态
opacity: 0;
}
</style>
复制代码

自己画了一个过渡动画生命周期,表示:动画开始,过程,结束,类名生效和失效

隐藏到显示,显示到隐藏过程

css动画

<div>
<button @click="show = !show">show toggle</button>
<transition name="fade"> //fade 自定义名称
<p v-if="show">hello</p>
</transition>
</div> <style>
.fade-enter-active { //类名:隐藏到显示过程所需要的时间
animation: bounce-in .5s;
}
.fade-leave-active { //类名:显示到隐藏过程所需要的时间
animation: bounce-in .5s reverse; //reverse表示和隐藏到显示动画相反
}
@keyframes bounce-in {
0% {
transform: scale(0);
}
50% {
transform: scale(1.5);
}
100% {
transform: scale(1);
}
}
</style>
复制代码

我们也可以自定义类名

<div>
<button @click="show = !show">show toggle</button>
<transition enter-class="fadeEnter" enter-active-class="fadeActive" > //fade 自定义名称
<p v-if="show">hello</p>
</transition>
</div> <style>
.fadeActive{
transition: opacity .5s; //类名:隐藏到显示过程所需要的时间
}
.fadeEnter { // 类名:初始化状态
opacity: 0;
}
</style>
复制代码

学到这里,我们其实也可以可以引用第三方库来实现这效果,Animate.css

// 在index.html文件下引入Animate.css
<link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">
// 在组件内
<div>
<button @click="show = !show">show toggle</button>
<transition
enter-active-class="animated tada"
leave-active-class="animated bounceOutRight" >
<p v-if="show">hello</p>
</transition>
</div>

Vue动画效果的更多相关文章

  1. vue动画效果出现重叠,并且出现滚动条

    背景 使用 vue 结合 animated css 第三方动画样式,简单地给页面组件加上切换时的 fade 淡入/淡出动画效果 当调试效果时发现,展示效果出现了问题,并且出现滚动条 原因 退场动画还没 ...

  2. Vue中的动画效果

    Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.css ...

  3. Vue中过度动画效果应用

    一.实现动画过渡效果的几种方式 实现动画必须要将要进行动画的元素利用<transition>标签进行包裹 1.利用CSS样式实现过渡效果 <transition name=" ...

  4. 067——VUE中vue-router之使用transition设置酷炫的路由组件过渡动画效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 049——VUE中使用animation与transform实现vue的动画效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. vue中多个元素或多个组件之间的动画效果

    多个元素的过渡 <style> .v-enter,.v-leave-to{ opacity: 0; } .v-enter-acitve,.v-leave-active{ opacity: ...

  7. vue实现多个元素或多个组件之间动画效果

    多个元素的过渡 <style> .v-enter,.v-leave-to{ opacity: 0; } .v-enter-acitve,.v-leave-active{ opacity: ...

  8. vue中使用第三方插件animate.css实现动画效果

    vue中使用第三方插件animate.css实现动画效果1.首先先引入第三方类animated.css2.将你所需要动画的标签用包裹起来3.在transition元素中添加enter-active-c ...

  9. Vue页面跳转动画效果实现

    Vue页面跳转动画效果实现:https://juejin.im/post/5ba358a56fb9a05d2068401d

随机推荐

  1. nginx/apache连接数梳理

    统计连接数,使用netstat命令或ss命令都可以1)统计连接数(80端口) [root@wang ~]# netstat -nat|grep -i "|wc -l 或者:netstat - ...

  2. hdu 1026 Ignatius and the Princess I(BFS+优先队列)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1026 Ignatius and the Princess I Time Limit: 2000/100 ...

  3. android中OpenMax的实现【2】AwesomePlayer中openmax的入口

    AwesomePlayer 中有个变量 OMXClient mClient; 让我们看看   OMXClient class OMXClient { public: OMXClient(); stat ...

  4. STM32的备份寄存器和控制状态寄存器

    STM32的备份寄存器和控制状态寄存器 1 备份寄存器用于RTC时钟 RTC时钟可以在掉电以后继续计数,保证时间的延续,但是重新上电以后需要配置,保证之前的计数不会被清除,可以借助备份寄存器实现,备份 ...

  5. 如何理解Hibernate的持久化?

    学习Hibernate,必须要理解什么是持久化?结合了一下网上的各位大佬的观点和自己的理解: 持久化概念 持久化是将程序数据在持久状态和瞬时状态间转换的机制.通俗的讲,就是瞬时数据(比如内存中的数据, ...

  6. echarts 多图任意布局案例

    随着文档的更新,布局越来越个性化,完全可以替代整个元素界面,随意布局展示数据,下面发布一个小的文件 源码文件:https://files.cnblogs.com/files/mobeisanghai/ ...

  7. node.js使用Sequelize 操作mysql

    Sequelize就是Node上的ORM框架 ,相当于java端的Hibernate 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite ...

  8. es6-----部分新特性详解

    ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了).上一次标准的制订还是2009年出台 ...

  9. 「PHP」抽象工厂模式

    引言   所属:创建型模式,常用设计模式之一 参考资料: <大话设计模式>程杰   模式概述    官方定义:抽象工厂模式(Abstract Factory),提供一个创建一系列相关或互相 ...

  10. Yii2 yiisoft/mongodb 手动安装

    手动将yiisoft/mongodb下载到vendor/yiisoft目录(注意约束条件). 在vendor/yiisoft/extensions.php 中添加 'yiisoft/yii2-mong ...