1 简介

  Vue封装的过度与动画,插入、更新或者移除 DOM 时,在合适的时候给元素添加样式类名,达到应用过渡和动画效果。

2 vue内置的样式

  Vue在元素显示与隐藏的过渡中,提供了 6 个 class 来切换:

    1)v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

    2)v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

    3)v-enter-to2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。

    4)v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。

    5)v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

    6)v-leave-to2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

3 使用

3.1 准备好样式

  需要先准备号上面的6个样式中需要用到的样式

3.2 使用标签<transition>包裹要实现过度或动画的标签

  1. <transition name = "nameoftransition">
  2. <div></div>
  3. </transition>

3.3 appear属性

  默认页面初始化加载的时候不产生效果,初始化完成后才会产生效果,如果想一开始就产生效果,须在transition 标签加上属性appear

3.4 <transition-group>标签

  若有多个元素需要使用统一的效果,需要使用<transition-group>标签,且元素需要定义key属性

  1. <transition-group name="hello" appear>
  2.   <h1 v-show="!isShow" key="1">你好啊!</h1>
  3.   <h1 v-show="isShow" key="2">哈哈哈!</h1>
  4. </transition-group>

3.5 动画示例

  过渡的示例就不写了

  1. transition里面的那么属性hello,对应下面的样式名称的开头.hello-enter-active,不定义name属性的话就是默认v开头,定义name属性就是name属性值开头
  1. <template>
  2. <div>
  3. <transition name="hello" appear>
  4. <h1 v-show="isShow">你好啊!</h1>
  5. </transition>
  6.  
  7. <button @click="cli">显示/隐藏</button>
  8.  
  9. </div>
  10.  
  11. </template>
  12.  
  13. <script>
  14.  
  15. export default {
  16. name:'StudentComp',
  17. data(){
  18. return {
  19. isShow:true
  20. }
  21. },
  22. methods: {
  23. cli(){
  24. this.isShow = !this.isShow
  25. }
  26. },
  27. }
  28. </script>
  29.  
  30. <style >
  31.  
  32. /*进入的过程中的样式 */
  33. .hello-enter-active{
  34. animation: hello 0.5s linear;
  35. }
  36.  
  37. /*离开的过程中的样式 */
  38. .hello-leave-active{
  39. animation: hello 0.5s linear reverse;
  40. }
  41.  
  42. /*定义动画 */
  43. @keyframes hello {
  44. from{
  45. transform: translateX(-100%);
  46. }
  47. to{
  48. transform: translateX(0px);
  49. }
  50. }
  51.  
  52. </style>

4 第三方动画库Animate.style

  有很多的第三方动画库可以拿过来直接使用,Animate.style  就是一个不错的

4.1 官网

  https://animate.style/

4.2 使用

 1)安装

  1. npm install animate.css

 2)引入

  1. import 'animate.css'

 3)使用

  1.   在transition或者transition-group标签里面
        1)填写name属性,值为animate__animated animate__bounce
        2)填写属性enter-active-class ,进来的样式名称(不需要可以不写)
        3)填写属性leave-active-class,离开的样式名称(不需要可以不写)
      
      样式的效果可以在官网右侧查看,样式名称也可以在这里复制

  1. <template>
  2. <div>
  3. <transition
  4. appear
  5. name="animate__animated animate__bounce"
  6. enter-active-class="animate__swing"
  7. leave-active-class="animate__backOutUp"
  8. >
  9. <h1 v-show="isShow">你好啊!</h1>
  10. </transition>
  11.  
  12. <button @click="cli">显示/隐藏</button>
  13.  
  14. </div>
  15.  
  16. </template>
  17.  
  18. <script>
  19.  
  20. import 'animate.css'
  21.  
  22. export default {
  23. name:'StudentComp',
  24. data(){
  25. return {
  26. isShow:true
  27. }
  28. },
  29. methods: {
  30. cli(){
  31. this.isShow = !this.isShow
  32. }
  33. },
  34. }
  35. </script>

Vue30 过度与动画的更多相关文章

  1. css3过度和动画

    一.过度(transition) transition:[transition-property] || [transition-duration] || [transition-timing-fun ...

  2. Vue $nextTick && 过度与动画

    1 # $nextTick 2 # 1.语法: this.$nextTick(回调函数); 3 # 2.作用:在下一次DOM更新结束后执行其指定的回调. 4 # 3.什么时候用:当改变数据后,要基于更 ...

  3. css3变换,过度,动画实现梦幻网页

    html和css3一出,整个互联网设计发生了颠覆性的改变,各大IT企业也推出了很多新颖的设计,比如百度浏览器的下载首页,fullpage设计风格加css动画让网页看起来很流畅舒服. css3的变换有3 ...

  4. vue动画理解,进入、离开、列表过度和路由切换。

    vue的动画对于很多初学者,甚至对很多老鸟来说也是很费劲,不容易控制的. 这篇文章讲vue动画的理解.其实没那么难. 动画理解 一个元素从A状态变成B状态,如果这个过程通过某种方式反应在视图上了,那么 ...

  5. iOS 动画基础

    原文:http://www.cnblogs.com/lujianwenance/p/5733846.html   今天说一下有关动画的基础,希望能帮助到一些刚接触iOS动画或者刚开始学习iOS的同学, ...

  6. [CSS3] 学习笔记-CSS动画特效

    在CSS3中,出现了很多出彩的效果,例如2D.3D以及过度.动画和多列等.这些效果为页面设计添加了很多的可选设计. 1.2D.3D转换 转换,是使元素改变尺寸.形状.位置的一种效果:通过CSS3转换, ...

  7. CSS3动画 transition和animation的用法和区别

    transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C   IE  -ms-  Chrome/Safari -webkit-   Firefoc - ...

  8. vue-06-过度和动画

    1, css过度与动画 需要使用 v-if, v-show 来进行 1), 过度类名 v-enter: 进入时触发 v-enter-active: 执行过程中 v-enter-to: 停止时进行 v- ...

  9. vue.js 过渡&动画

    9-17 在add ,update, remove DOM时 提供多种方式的应用过度效果. 包括以下可选工具:(2大类,css和js) 在css过度和动画中自动应用class 配合使用第三方css动画 ...

  10. Android 动画——Layout Animations布局动画

    Layout Animations主要使用LayoutTransition为布局的容器设置动画,当容器中的视图层次发生变化时存在过渡的动画效果. LayoutTransition This class ...

随机推荐

  1. 【题解】CF991C Candies

    题面传送门 解决思路 看到 \(10^{18}\) 的范围,我们可以想到二分答案.只要对于每一个二分出的答案进行 \(check\) ,如果可行就往比它小的半边找,不可行就往比它大的半边找. 以下是 ...

  2. 使用 JWT 生成 token

    JWT 简介 JWT:Json Web Token 官网:https://jwt.io 优点:可生成安全性较高的 token 且可以完成时效性的检验(登陆过期检查) JWT 结构:(由官网获取) JW ...

  3. C++初阶(封装+多态--整理的自认为很详细)

    继承 概念:继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类.继承呈现了面向对象程序设计的层次结构,体现了由简单 ...

  4. 【消息队列面试】11-14:kafka高可靠、高吞吐量、消息丢失、消费模式

    十一.kafka消息高可靠的解决方案 1.高可靠=避免消息丢失 解决消息丢失的问题 2.如何解决 (1)保证消息发送是可靠的(发成功了/落到partition) a.ack参数 发送端,采用ack机制 ...

  5. k8s篇-k8s集群架构及组件详解【史上最详细】

    O kubernetes简介 k8s是什么 k8s是一个可移植的.可扩展的开源平台,用于管理容器化的工作负载和服务,可以促进声明式配置和自动化. k8s能做什么 1)服务发现和负载均衡 Kuberne ...

  6. Springboot优雅进行字段检验

    Springboot优雅进行字段检验 1.Controller VS Service 推荐与业务无关的放在controller层中进行校验,而与业务相关的放在service层中校验. 2.常用校验工具 ...

  7. 06.python闭包

    python闭包 什么样的函数是 闭包函数 ? 满足以下条件: 闭:外层函数嵌套了一个内层函数. 包:内层函数调用外层函数命名空间内的名字. 举例如下: def out_func(): # 外层函数 ...

  8. Python报SyntaxError: Missing parentheses in call to ‘print’. Did you mean print()

    SyntaxError: Missing parentheses in call to 'print'. Did you mean print()原因:python2.X版本与python3.X版本输 ...

  9. Flask初步认识

    1.Flask基本认识 Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展包(数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现.比如可以用 Flask 扩展加入ORM. ...

  10. 从工具到实践:如何在GitHub上保障开源项目安全?

    1998年,Christine Peterson创造了 "开源软件"这个词.她解释道:"这是刻意为之,为了让其他人更容易理解这个领域".同年,O'Reilly组 ...