您好,登錄后才能下訂單哦!
過渡效果在交互體驗中的重要性不言而喻。以往我們使用js或Jquery添加或移除元素的類(class),搭配CSS中定義好的樣式,再引用一些javascript庫之后,可以做作出非常復雜,驚艷的動態(tài)效果,不過這套方法還是太繁瑣。
vue.js內(nèi)置了一套過渡系統(tǒng),可以在元素從DOM中插入或移除時自動應用過渡效果。vue會在是黨的時機觸發(fā)css過渡或者動畫,你也可以提供相應的javascript鉤子函數(shù)在過渡過程中執(zhí)行自定義的DOM操作。
每個過渡效果,都需要在目標元素上使用transition特性。
<div v-if="show" transition="my-style">顯示</div>
transition的特性可以與以下指令一起搭配使用:
1.v-if 2.v-show 3.v-for 4.動態(tài)組件
還有其它的一些指令或資源,大家可以自行查找。
完整代碼實例如下:
<div v-if="show" :transition="expand"></div> // expand必需事先定義好,expand后面寫樣式要用(關鍵) <transition name="expand"><div v-if="show">顯示</div></transition>這樣的嵌套也可以 .expand-transition { // 必需寫 transition: all .3s ease; height: 30px; padding: 10px; background-color: #eee; overflow: hidden; } .expand-enter{ //開始進入過渡,元素被插入生效 transition:opacity .5s; } .fade-leave-active { // 結(jié)束狀態(tài) opacity:0; }
當然有開始肯定是有結(jié)束的狀態(tài),它其實是有四個(CSS類)名在enter/leave的狀態(tài)中切換。
1.v-enter:定義進入過渡的開始狀態(tài),在元素被插入的時生效,在下一個幀移除
2.v-enter-active:定義進入過渡的結(jié)束狀態(tài),在元素被插入的時候生效,在transition/animation完成之后移除
3.v-leave:定義離開過渡的開始狀態(tài),在離開過渡被觸發(fā)時生效,在下一幀移除
4.v-leave-active:定義離開過渡的開始狀態(tài),在離開過渡被觸發(fā)時生效,在下一個幀移除
根據(jù)以上四個狀態(tài),就可以完整的寫好一個css的一個過渡效果,比如頁面從窗口左側(cè)劃入進場,這樣是不是很酷???
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。