首頁  >  文章  >  web前端  >  CSS3-讀取效果的動畫實現

CSS3-讀取效果的動畫實現

巴扎黑
巴扎黑原創
2017-07-23 10:53:231673瀏覽

上次分享了四個CSS3的載入動畫,今天繼續(標題接上一次)。

線上demo:http://liyunpei.xyz/loading.html   (持續更新)

 

請注意:程式碼中的關鍵影格動畫有的用的linear曲線,有的用的是ease曲線。前者是勻速執行,整個動畫以固定的速度執行;後者有加速減速階段,在動畫開始時加速,在動畫將要結束時減速(比如我在50%的地方設置了一個動畫,那麼在快要到達50 %的時候,動畫開始減速,在超過50%的時候動畫開始加速,表現在頁面上會有一個短暫的停留效果,效果七、效果八最為明顯)

五、效果五

小球爬樓梯的效果,第一看到這個效果,以為會有點複雜,結果寫出來之後覺得也沒那麼難。

首先將樓梯定位至右上角,執行從右上至左下的運動動畫,並為每一個樓梯設定animation-delay的值(我這裡用了三個樓梯,總時長1.8s,animation- delay值分別為0s,-0.6s,-12s)

{:;:;:;
      }{:;
      }{:;:;:;
      }

其次,確定小球與樓梯的接觸點,小球將以此接觸點為最低基準,同時,改變小球在上升、下降過程中的寬高來是小球跳動更真實。小球動畫的運動時間剛好是樓梯動畫的延遲時間,這樣,才能確保小球可以接觸到每個樓梯。

{animation: jump .6s 0s ease infinite,jump_S .6s 0s ease infinite;}@keyframes jump {  50%{
        top: 60%;
      }}
    @keyframes jump_S {  5%{
        height: 25px; //下降过程width: 15px;
      }  54%{height: 20px;//到达底部width: 20px;
      }  55%{height: 25px;//上升过程width: 15px;
      }  98%{height: 20px;//到达顶点width: 20px;
      }}

六、效果六

 

這個效果就比較簡單了。

一個矩形div,設定邊框、圓角,將其中任一個邊框顏色設定為繼承(即border-left/bottom/top/right-color:transparent);

這樣,父元素沒有邊框顏色,這一邊的邊框也就無色,便形成了有缺口的圓,接下來只要設定旋轉動畫就OK了。 (程式碼就不貼出來了)

七、效果七

 

這個效果形狀的製作與上一個做法相同,只是這次多加了一個邊框,還是旋轉,就不多說了,直接上關鍵幀動畫的程式碼。

{animation: rotate_bors 2s ease infinite;}//大圆
{animation: rotate_bors 1s ease infinite;}//小圆@keyframes rotate_bors {  50%{
        transform: rotateZ(180deg);
      }  100%{transform: rotateZ(360deg);
      }}

八、效果八

 

這個效果也很簡單,外部大圈怎麼做就不多說了,裡面的小圓,也只要改變大小就行了。

{animation: rotate_borw 1s linear infinite;}@keyframes rotate_borw {  50%{
        width: 15px;height: 15px;
      }}

九、效果九

 

將小球全部設定為行內塊元素,給父元素text-align:center來讓小球水平居中,透過設定行高,使小球垂直居中。接下來透過關鍵影格動畫來改變小球的長寬、以及左右外邊距。

{animation: margin 1s linear infinite;}@keyframes margin {  50%{
        margin:0 10px;width: 10px;height: 10px;
      }}

十、效果十

############## ###### ######仍然將小球設為行內塊,只需水平居中即可,可以設定外邊距來調整小球之間的距離,透過關鍵影格來設定小球的translateY的值。 (每個小球之間的延遲不必均分,差值可以減少)######
{animation: trans 1.2s ease infinite;}@keyframes trans {  50%{
        opacity: 1;transform: translateY(30px);
      }  70%{opacity: 1;transform: translateY(30px);
      }  100%{opacity: 0;transform: translateY(60px);
      }}
####### ######(未完待續)###

以上是CSS3-讀取效果的動畫實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn