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. 分享一个可下拉刷新的ScrollView

    原理:就是动态改变ScrollView header的margin实现 主要的代码: http://blog.csdn.net/swust_chenpeng/article/details/39289 ...

  2. win764 ping不能用的问题

    1.某日发现,ping突然用不了了 2.百度一搜,有如下解答: 1.右击计算机点属性之后找到系统属性下的环境变量: 2.找到系统变量的"path"之后按“编辑”: 3.变量值前面的 ...

  3. GPIO 配置示例

    概述:学习STM32的GPIO configration /********************************************************************** ...

  4. 全渠道价值链整合云服务 B2B SOLOMO(组图)

    最近看到>中谈到“全渠道零售”(Omni-channel Retailing),指在互联网和电子商务的当今时代“零售商将能通过各种渠道与顾客互动,包括网站.实体店.服务终端.直邮和目录.呼叫中心 ...

  5. unittest单元测试框架之测试环境的初始化与还原(fixture)(五)

    1.方法一:针对每条测试用例进行初始化与还原 import unittest from UnittestDemo.mathfunc import * class TestMathFunc(unitte ...

  6. Oracle死锁一例(ORA-00060),锁表导致的业务死锁问题

    1.问题发现 检查客户数据库的时候发现存在大量死锁的情况 Thread advanced to log sequence (LGWR switch) Current log# mem# : /orad ...

  7. Spring 整合Mybatis Mapper动态代理方法

    先看项目目录结构 很清爽了 最重要的Spring的核心配置文件,看一下 <?xml version="1.0" encoding="UTF-8"?> ...

  8. VirtualBox复制的虚拟机无法获取IP解决办法

    自从建立了这个账号后写了一篇,好几年没来了,今天来看看,顺便分享一下. 昨天晚上想玩玩zookeeper集群,在vb里复制了一台主机,可怎么也无法获取IP,经研究,终于还是解决了. 1.复制主机时勾选 ...

  9. Redis(五):Redis的持久化

    Redis的持久化目录导航: 总体介绍 RDB(Redis DataBase) AOF(Append Only File) 总结(Which one) 总体介绍 官网介绍 RDB(Redis Data ...

  10. redis的docker化安装

    只需要关注几点: 端口映射 配置文件映射 持久化映射 要做的就是拉取官方镜像并把关注的几个点处理一下就好了: docker pull redis docker run -d -p : -v /data ...