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