zoukankan      html  css  js  c++  java
  • 在Vue中同时使用过渡和动画

    在Vue中同时使用过渡和动画

    1.在需要设置过渡动画的元素外包裹<transition>标签,然后再设置对应的样式即可(v-enter,v-enter-active,v-leave-to,v-leave-active)

    2.如果不想用默认的类,可以自定义类如,enter-active-class="active",然后写.class的样式即可。

    3.使用animate.css,只要在需要动画的标签外的transition标签里添加对应属性,比如enter-active-class="animate swing",leave-active-class="animate shake"即可,但前提要引入animate.css

    4.若想一加载就有动画效果需要加入appear属性和自定义class:appear-active-class="自定义类名"

    5.同时存在过渡动画和其他动画,但时长不一样时,可以设置type属性来决定以谁为准,如:type="transition",则以过渡动画为准。

    6.当要自定义时长时,可以这样, :duration="3000",以毫秒计,这样则是自己定义的时长为准,更复杂的可以设置入场和出场动画, :

    duration="{enter:5000,leave:10000}"

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Vue的CSS动画原理</title>
    <script src="./vue.js"></script>
    <link rel="stylesheet" type="text/css" href="./Animate.css">
    <style>
      .fade-enter,.fade-leave-to{
        opacity:0;
      }
      .fade-enter-active,.fade-leave-active{
        transition:opacity 3s;
      }
    </style>
    </head>
    <body>
      <div id="root">
        <transition
         :duration="{enter:5000,leave:10000}"
        name="fade"
        appear
        enter-active-class="animate swing fade-enter-active"
        leave-active-class="animate shake fade-leave-active"
        appear-active-class="animated swing"
        >
         <div v-show="show">hello world</div>
        </transition>
        <button @click="handleClick">切换</button>
       </div>
       <script>
        var vm=new Vue({
          el:'#root',
          data:{
            show:true
          },
          methods:{
            handleClick:function(){
              this.show=!this.show
            }
          }
        })
       </script>
    </body>
    </html>
  • 相关阅读:
    vite的使用
    webpack--Plugin
    webpack--loader
    uniapp 或小程序,通过蓝牙连接设备, 给设备配网
    每一项与之前一项相加
    vue使用vue-fullpage
    React基礎
    无间隙循环轮播效果
    Wow.js动画效果
    正则表达式
  • 原文地址:https://www.cnblogs.com/tengteng0520/p/12074671.html
Copyright © 2011-2022 走看看