1. 程式人生 > >vue2.0和animate.css的結合使用

vue2.0和animate.css的結合使用

animate.css是一款前端動畫庫,相似的有velocity-animate。

首先是transition元件
用法:
1、要用animate.css,那麼首先需要做的就是匯入它。區域性的匯入的話,就在當前的.vue檔案中的style標籤中匯入:

@import "animate".css;

注意,匯入css檔案的時候。在末尾應該要加上分號。如果不加的話,會影響後面寫的區域性樣式。

2、開始使用animate.css
這裡寫圖片描述

上述是一個完整的結構。其中重要的幾個點用箭頭表示出來。首先在transition元件內部,需要定義兩個基本的class類,表示過渡進來和過渡出去的時候所要配合使用的animate.css的類值。zoomInLeft/zoomOutRight是其中的一對兒。具體的其它效果可以檢視animatecss的官網。其次在transition元件內部的話,需要過渡的子元素需要加上animated類。最後可能也是比較容器忽略的點,這個v-show看似好像是多餘的,但是不加上的話,對於過渡效果是沒用的。因為過渡是從一個從無到有的一個效果。最開始進來的時候如果元素本身是show 的,那麼過渡就失效了。所以在元素上面需要加上這個v-show屬性。在過渡進來的時候,v-show設定為true,相反為false。

還有一個點是在上述程式碼中沒有展現出來的,如果有多個子元素都要實現過渡,可以加上

<transition-group></transition-group>

進行包裹。

下面看一段例項程式碼vue過渡和animate.css結合使用

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>動畫</title>
<script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"
>
</script> <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/animate.css/3.5.2/animate.min.css" rel="external nofollow" /> </head> <body> <div id="box"> <!-- 控制資料的值切換顯示隱藏 --> <button @click="show=!show">transition</button>
<transition name="" mode="" enter-active-class="zoomInLeft" leave-active-class="zoomOutRight"> <p v-show="show" class="animated">第一種方法</p> </transition> <transition name="" mode="" enter-active-class="animated zoomInLeft" leave-active-class="animated zoomOutRight"> <p v-show="show">第二種方法</p> </transition> <!-- 多元素運動 --> <transition-group tag="" name="" enter-active-class="zoomInLeft" leave-active-class="zoomOutRight"> <p v-show="show" class="animated" :key="1">第一個元素</p> <p v-show="show" class="animated" :key="2">第二個元素</p> </transition-group> </div> <script> window.onload = function(){ var app = new Vue({ el:'#box', data:{ show:false } }) } </script> </body> </html>

這裡寫圖片描述