React學習-複雜交互

一、css中的動畫分爲兩部分:過度和關鍵幀動畫

     過度:兩個不同狀態之間進行插值實現動畫效果,他包含一個開始狀態和一個結束狀態。通過transition屬性來控制css過渡效果,他會告訴瀏覽器在一段時間內,對選擇器中包含的屬性進行插值運算,從而實現動畫效果,transition屬性最多可以接受四個特性
        (1)需要進行動畫處理的元素的屬性名稱 如color和width,如果省略該參數, 所有可實現動畫效果的屬性都會被進行過渡處理
        (2)動畫的持續時間

        (3)可選的時間方法用於控制動畫的加速曲線,如ease-in和ease-out

        (4)在動畫開始之前,可選的延遲時間。

      關鍵幀動畫:另外一種創建css動畫的方法是keyframe屬性,他可以讓你更精確地控制動畫序列的中間狀態,而不是讓瀏覽器自動的完成所有的處理。使用關鍵幀動畫的時候,你需要在一個單獨的css塊中通過@keyframes規則和名稱來定義你的動畫步驟:
在後續的任何一個樣式定義中,都可以通過animation屬性來引用預先定義的關鍵幀。animation屬性接受關鍵幀的名稱、動畫持續時間和其他的可選的配置(如重複次數)

animation 屬性是一個簡寫屬性,用於設置六個動畫屬性:
animation-name
animation-duration
animation-timing-function
animation-delay
animation-iteration-count
animation-direction
註釋:請始終規定 animation-duration 屬性,否則時長爲 0,就不會播放動畫了。

二、ReactCSSTransitionGroup:
      1.ReactCSSTransitionGroup是一個簡單元素,其中包裝了所有你實現動畫效果需要的元素,他會在組件特定的生命週期中(如掛載和卸載時)觸發CSS動畫和過渡效果。他是以插件的形式提供的,因此在使用之前需要先安裝插件: npm install --save react-addons-css-transition-group

      2.ReactCSSTransitionGroup元素必須包裝在你需要實現動畫效果的子元素外。他可以接受三個屬性:transitionName(映射到CSS中包含實際動畫定義的類名)、transitionEnterTimeout和transitionLeaveTimeout(定義了動畫的持續時間,以毫秒爲單位)

三、拖放:React-DnD:在底層,React DnD會使用瀏覽器開房的API,處理各個廠商之間API的不一致性和怪異性,隱藏起具體的實現細節。注意:React DnD作爲一個外部庫,在使用之前需要通過npm安裝之後纔可以使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章