瞭解css3動畫

首先,CSS Animation須要指定動畫一個週期持續的時間,以及動畫效果的名稱。css

語法:html

animation: animation: name duration timing-function delay iteration-count direction fill-mode play-state;;

說明:css3

說明
animation-name 指定要綁定到選擇器的關鍵幀的名稱
animation-duration 動畫指定須要多少秒或毫秒完成
animation-timing-function 設置動畫將如何完成一個週期
animation-delay 設置動畫在啓動前的延遲間隔。
animation-iteration-count 定義動畫的播放次數。
animation-direction 指定是否應該輪流反向播放動畫。

例如:web

 #demo span{
    border-radius: 100%;
    -webkit-animation: rainbow 1s infinite;
    animation: rainbow 1s infinite;
  }

  咱們在這裏給span添加動畫效果,如:瀏覽器

  @keyframes rainbow {
    0% {
      -webkit-transform: scale(0);
      transform: scale(0);
    }
    25% {
      -webkit-transform: scale(0.9, 0.9);
      transform: scale(0.9, 0.9);
      background: #93e1d7;
    }
    50% {
      -webkit-transform: scale(1, 1);
      transform: scale(1, 1);
      margin: 0 3px;
      background: #2FAC9B;
    }
    100% {
      -webkit-transform: scale(0);
      transform: scale(0);
    }
  }

  在html中添加,以下:學習

<div id='demo'><span><span></div>

  而後在瀏覽器中,咱們會看見以下效果:動畫

 

 

  而後,咱們能夠思考下,既然獲得了一個這樣的動畫效果,那咱們由多個圓點能夠獲得加載效果。spa

咱們繼續在上面代碼中修改,html中添加:orm

<div id="loader-1">
  <span></span><span></span><span></span><span></span><span></span>
</div>

  css中添加:htm

 #loader-1 span:nth-child(1) {
    border-radius: 100%;
    -webkit-animation: scale 1s 0.1s infinite;
    animation: scale 1s 0.1s infinite;
  }
  #loader-1 span:nth-child(2) {
    border-radius: 100%;
    -webkit-animation: scale 1s 0.2s infinite;
    animation: scale 1s 0.2s infinite;
  }
  #loader-1 span:nth-child(3) {
    border-radius: 100%;
    -webkit-animation: scale 1s 0.3s infinite;
    animation: scale 1s 0.3s infinite;
  }
  #loader-1 span:nth-child(4) {
    border-radius: 100%;
    -webkit-animation: scale 1s 0.4s infinite;
    animation: scale 1s 0.4s infinite;
  }
  #loader-1 span:nth-child(5) {
    border-radius: 100%;
    -webkit-animation: scale 1s 0.5s infinite;
    animation: scale 1s 0.5s infinite;
  }

  而後添加對應的動畫效果:

 @-webkit-keyframes scale {
    0% {
      -webkit-transform: scale(0);
      transform: scale(0);
    }
    25% {
      -webkit-transform: scale(0.9, 0.9);
      transform: scale(0.9, 0.9);
      background: #93e1d7;
    }
    50% {
      -webkit-transform: scale(1, 1);
      transform: scale(1, 1);
      margin: 0 3px;
      background: #2FAC9B;
    }
    100% {
      -webkit-transform: scale(0);
      transform: scale(0);
    }
  }
  @keyframes scale {
    0% {
      -webkit-transform: scale(0);
      transform: scale(0);
    }
    25% {
      -webkit-transform: scale(0.9, 0.9);
      transform: scale(0.9, 0.9);
      background: #93e1d7;
    }
    50% {
      -webkit-transform: scale(1, 1);
      transform: scale(1, 1);
      margin: 0 3px;
      background: #2FAC9B;
    }
    100% {
      -webkit-transform: scale(0);
      transform: scale(0);
    }
  }

  而後咱們繼續在瀏覽器中打開,會看見以下效果:

 

         

綜合上面類容,咱們會發現,css3中動畫效果博大精深,須要咱們不停的學習。

相關文章
相關標籤/搜索