zoukankan      html  css  js  c++  java
  • Vue动画效果

    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>
    复制代码

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

    image.png

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

    image.png

    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>
  • 相关阅读:
    Object中的线程等待和Condition
    synchronized锁和Lock锁
    手写二叉排序树(二叉查找树、二叉搜索树)
    JDK源码之ArrayList-Iterator
    JDK源码之ArrayList
    Integer&int,自动装箱&自动拆箱
    学习Zookeeper第一课
    Thumbnailator处理图片
    线程的停止和中断
    BigInteger和BigDecimal
  • 原文地址:https://www.cnblogs.com/web-chuanfa/p/9304781.html
Copyright © 2011-2022 走看看