vue 組件中使用 transition 和 transition-group實現過渡動畫?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創(chuàng)新互聯公司成立10年來,這條路我們正越走越好,積累了技術與客戶資源,形成了良好的口碑。為客戶提供做網站、成都網站制作、網站策劃、網頁設計、申請域名、網絡營銷、VI設計、網站改版、漏洞修補等服務。網站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網站建設都非常重要,成都創(chuàng)新互聯公司通過對建站技術性的掌握、對創(chuàng)意設計的研究為客戶提供一站式互聯網解決方案,攜手廣大客戶,共同發(fā)展進步。
template模板結構
// 單個元素// 列表元素: 注意group的直接子元素是v-for渲染出來的 hello
name 版,name 為組件中的屬性
出現的過程: name-enter(初始態(tài)) => name-enter-active(中間態(tài)) => name-enter-to(終止態(tài))
消失的過程: name-leave => name-leave-active => name-leave-to
以進場過渡動畫為例子
我們可以分別設置 enter 階段 和 enter-to 階段的動畫
1.設置進入時需要過渡的屬性
.name-enter { opacity: 0; transform: translateY(30px) }
2.然后在 name-enter-active中設置過渡時間
.name-enter-active { transition: all .3s; }
3.最后在 name-enter-to 中寫上終止態(tài)屬性
其實終止態(tài)的opacity: 1;transform: none; 是默認的,可以不用寫
.name-enter-to { opacity: 1; transform: translateY(0); }
如果要給列表中的元素設置交錯的效果, 元素不多的話可以添加 delay 屬性
.name-enter-active:nth-child(3n+1) { transition-delay: 0s; } .name-enter-active:nth-child(3n+2) { transition-delay: .1s; } .name-enter-active:nth-child(3n+3) { transition-delay: .2s; }
離場動畫同理...
js 鉤子實現過渡動畫: 通過操作類名; 就是 name 版的 js 實現
// 例如實現上述列表依次顯示
js 鉤子過渡動畫: 通過操作行內屬性, 自定義動畫
這里記錄一下監(jiān)聽css3的animation動畫和transition事件:
webkit-animation動畫有三個事件: 開始事件: webkitAnimationStart 結束事件: webkitAnimationEnd 重復運動事件: webkitAnimationIteration css3的過渡屬性transition: 一個事件 過渡結束: webkitTransitionEnd
看完上述內容,你們掌握vue 組件中使用 transition 和 transition-group實現過渡動畫的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道,感謝各位的閱讀!