1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      使用純CSS實(shí)現(xiàn)拋盒子loader的方法

      這篇文章主要介紹使用純CSS實(shí)現(xiàn)拋盒子loader的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

      創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的儀征網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

      效果預(yù)覽

      使用純CSS實(shí)現(xiàn)拋盒子loader的方法

      源代碼下載

      https://github.com/comehope/front-end-daily-challenges

      代碼解讀

      定義 dom,只有 1 個(gè)元素:

      居中顯示:

      body {
          margin: 0;
          height: 100vh;
          display: flex;
          align-items: center;
          justify-content: center;
          background-color: teal;
      }

      畫出一根木條:

      .loader {
          width: 6em;
          border-bottom: 0.25em solid white;
          font-size: 30px;
          border-radius: 0.125em;
      }

      用偽元素在其上畫出一個(gè)盒子:

      .loader {
          position: relative;
      }
      
      .loader::before {
          content: '';
          position: absolute;
          width: 1em;
          height: 1em;
          border: 0.25em solid white;
          bottom: 0;
          left: 0.5em;
          border-radius: 0.25em;
      }

      讓圖案傾斜,形成盒子在坡上的效果:

      .loader {
          transform: rotate(-45deg);
          left: 1em;
          top: 1em;
      }

      接下來(lái)制作動(dòng)畫。

      讓盒子一步步爬坡,爬到坡頂再重爬:

      .loader::before {
          animation: push 3s infinite;
      }
      
      @keyframes push {
          0% {
              transform: translateX(0);
          }
          
          20%, 25% {
              transform: translateX(1em);
          }
      
          40%, 45% {
              transform: translateX(2em);
          }
      
          60%, 65% {
              transform: translateX(3em);
          }
      
          80% {
              transform: translateX(0);
          }
      }

      增加盒子在爬坡的過(guò)程中的滾動(dòng)效果:

      @keyframes push {
          0% {
              transform: translateX(0) rotate(0deg);
          }
          
          20%, 25% {
              transform: translateX(1em) rotate(calc(90deg * 1));
          }
      
          40%, 45% {
              transform: translateX(2em) rotate(calc(90deg * 2));
          }
      
          60%, 65% {
              transform: translateX(3em) rotate(calc(90deg * 3));
          }
      
          80% {
              transform: translateX(0) rotate(0deg);
          }
      }

      增加盒子在爬坡過(guò)程中的擬人效果:

      @keyframes push {
          0% {
              transform: translateX(0) rotate(0deg);
          }
      
          5% {
              transform: translateX(0) rotate(-5deg);
          }
          
          20%, 25% {
              transform: translateX(1em) rotate(calc(90deg * 1 + 5deg));
          }
      
          30% {
              transform: translateX(1em) rotate(calc(90deg * 1 - 5deg));
          }
      
          40%, 45% {
              transform: translateX(2em) rotate(calc(90deg * 2 + 5deg));
          }
      
          50% {
              transform: translateX(2em) rotate(calc(90deg * 2 - 5deg));
          }
      
          60%, 65% {
              transform: translateX(3em) rotate(calc(90deg * 3 + 5deg));
          }
      
          70% {
              transform: translateX(3em) rotate(calc(90deg * 3 - 5deg));
          }
      
          80% {
              transform: translateX(0) rotate(-5deg);
          }
      }

      讓木條在箱子爬到接近頂點(diǎn)時(shí)做拋擲動(dòng)作:

      .loader {
          animation: throw 3s infinite;
          transform-origin: 20%;
      }
      
      @keyframes throw {
          0%, 70%, 100% {
              transform: rotate(-45deg);
          }
      
          80% {
              transform: rotate(-135deg);
          }
      }

      增加盒子在爬到接近頂點(diǎn)時(shí)的掉落效果:

      @keyframes push {
          70% {
              transform: translateX(3em) translateY(0) rotate(calc(90deg * 3 - 5deg)) scale(1);
              filter: opacity(1);
          }
      
          80% {
              transform: translateX(0) translateY(-5em) rotate(-5deg) scale(0);
              filter: opacity(0.5);
          }
      
          90% {
              transform: translateX(0) translateY(0) rotate(0deg) scale(0);
          }
      }

      最后,隱藏掉可能超出頁(yè)面的部分:

      body {
          overflow: hidden;
      }

      以上是使用純CSS實(shí)現(xiàn)拋盒子loader的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      新聞標(biāo)題:使用純CSS實(shí)現(xiàn)拋盒子loader的方法
      鏈接URL:http://www.ef60e0e.cn/article/pjdgds.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        湖州市| 奈曼旗| 岑巩县| 黔江区| 临湘市| 合肥市| 娄烦县| 中江县| 七台河市| 揭西县| 通江县| 新密市| 阜南县| 武强县| 剑川县| 潞西市| 大新县| 梅河口市| 贺兰县| 建平县| 陈巴尔虎旗| 商都县| 云林县| 祥云县| 黄山市| 长汀县| 和硕县| 弥勒县| 周至县| 淮安市| 南江县| 庄浪县| 万盛区| 尤溪县| 商南县| 乐陵市| 赣州市| 北宁市| 康马县| 巴楚县| 阳高县|