整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          呼吸燈效果(極簡css實現)

          鳥學習記:第四十八天

          最近幾天在忙一些瑣碎的事情

          可自由支配的時間較少

          但有些任務每天還是堅持下來了

          逆水行舟 不進則退

          「HTML+CSS」--自定義加載動畫【029】

          前言

          ?

          Hello!小伙伴!

          非常感謝您閱讀海轟的文章,倘若文中有錯誤的地方,歡迎您指出~

          自我介紹 「?(?ˊ?ˋ)?」

          昵稱:海轟

          標簽:程序猿|C++選手|學生

          簡介:因C語言結識編程,隨后轉入計算機專業,有幸拿過一些國獎、省獎...已保研。目前正在學習C++/Linux/Python

          學習經驗:扎實基礎 + 多做筆記 + 多敲代碼 + 多思考 + 學好英語! 初學Python 小白階段

          文章僅作為自己的學習筆記 用于知識體系建立以及復習

          題不在多 學一題 懂一題

          知其然 知其所以然!

          ?

          效果展示

          在這里插入圖片描述

          Demo代碼

          HTML

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <link rel="stylesheet" href="style.css">
              <title>Document</title>
          </head>
          <body>
              <section><span></span></section>
          </body>
          </html>
          

          CSS

          html,body{
            margin: 0;
            height: 100%;
          }
          body{
            display: flex;
            justify-content: center;
            align-items: center;
            background: #263238;
          }
          section {
              width: 650px;
              height: 300px;
              padding: 10px;
              position: relative;
              display: flex;
              align-items: center;
              justify-content: center;
              border: 2px solid red;
          }
          span {
            width : 96px;
            height: 96px;
            background: white;
            border-radius: 50%;
            animation: animloader 1s ease-in infinite;
          }
          @keyframes animloader {
            0% { transform: scale(0); opacity: 1;}
            100% { transform: scale(1); opacity: 0;}
          }
          

          原理詳解

          步驟1

          使用span標簽,設置

          • 寬度、高度均為96px
          • 背景色:白色
           width : 96px;
            height: 96px;
            background: white;
          

          效果圖如下

          在這里插入圖片描述

          步驟2

          span圓角化

           border-radius: 50%;
          

          效果圖如下

          步驟3

          為span設置動畫

          • 初始狀態:大小為0(相對于原大小),顏色為(白,透明級別1)
          • 終止狀態:大小為1(相對于原大小),顏色為(白,透明級別0)
          animation: animloader 1s ease-in infinite;
          
          @keyframes animloader {
            0% { transform: scale(0); opacity: 1;}
            100% { transform: scale(1); opacity: 0;}
          }
          

          效果圖如下

          在這里插入圖片描述

          結語

          學習來源:

          ?

          https://codepen.io/bhadupranjal/pen/vYLZYqQ

          ?

          文章僅作為學習筆記,記錄從0到1的一個過程。

          希望對您有所幫助,如有錯誤歡迎小伙伴指正~

          謝謝支持??

          序漸進,看看只使用 CSS ,可以鼓搗出什么樣的充電動畫效果。

          畫個電池

          當然,電池充電,首先得用 CSS 畫一個電池,這個不難,隨便整一個:

          歐了,勉強就是它了。有了電池,那接下來直接充電吧。最最簡單的動畫,那應該是用色彩把整個電池灌滿即可。

          方法很多,代碼也很簡單,直接看效果:

          有內味了,如果要求不高,這個勉強也就能夠交差了。通過藍色漸變表示電量,通過色塊的位移動畫實現充電的動畫。但是總感覺少了點什么。

          增加陰影及顏色的變化

          如果要繼續優化的話,需要添加點細節。

          我們知道,低電量時,電量通常表示為紅色,高電量時表示為綠色。再給整個色塊添加點陰影的變化,呼吸的感覺,讓充電的效果看起來確實是在動。

          知識點

          到這里,其實只有一個知識點:

          • 使用 filter: hue-rotate() 對漸變色彩進行色彩過渡變換動畫

          我們無法對一個漸變色直接進行 animation ,這里通過濾鏡對色相進行調整,從而實現了漸變色的變換動畫。

          上述例子完整的 Demo:
          https://codepen.io/Chokcoco/pen/bGNqyra?editors=1100

          添加波浪

          ok,剛剛算一個小里程碑,接下來再進一步。電量的頂部為一條直線有點呆呆的感覺,這里我們進行改造一下,如果能將頂部直線,改為波浪滾動,效果會更為逼真一點。

          改造之后的效果:

          使用 CSS 實現這種波浪滾動效果,其實只是用了一種障眼法,具體的可以我早期寫的這篇文章:

          純 CSS 實現波浪效果!

          知識點

          這里的一個知識點就是上述說的使用 CSS 實現簡易的波浪效果,通過障眼法實現,看看圖就明白了:

          上述例子完整的 Demo:
          https://codepen.io/Chokcoco/pen/qBErGoO

          OK,到這,上述效果加上數字變化已經算是一個比較不錯的效果了。當然上面的效果看上去還是很 CSS 的,就是一眼看到就覺得用 CSS 是可以做到的。

          使用強大的 CSS 濾鏡實現安卓充電動畫效果

          那下面這個呢?

          用安卓手機的同學肯定不陌生,這個是安卓手機在充電的時候的效果。看到這個我就很好奇,使用 CSS 能做到嗎?

          經過一番嘗試,發現使用 CSS 也是可以很好的模擬這種動畫效果:

          上述 Gif 錄制的效果圖是完全使用 CSS 模擬的效果。

          上述例子完整的 Demo:
          https://codepen.io/Chokcoco/pen/vYExwvm

          知識點

          拆解一下知識點,最主要的其實是用到了 filter: contrast() 以及 filter: blur() 這兩個濾鏡,可以很好的實現這種融合效果。

          單獨將兩個濾鏡拿出來,它們的作用分別是:

          1. filter: blur(): 給圖像設置高斯模糊效果。
          2. filter: contrast(): 調整圖像的對比度。

          但是,當他們“合體”的時候,產生了奇妙的融合現象。

          先來看一個簡單的例子:

          仔細看兩圓相交的過程,在邊與邊接觸的時候,會產生一種邊界融合的效果,通過對比度濾鏡把高斯模糊的模糊邊緣給干掉,利用高斯模糊實現融合效果。

          當然,這種效果在之前的文章也多次提及過,更具體的,可以看看:

          • CSS 火焰?不在話下
          • 你所不知道的 CSS 濾鏡技巧與細節

          顏色的變換

          當然,這里也是可以加上顏色的變換,效果也很不錯:

          上述例子完整的 Demo:
          https://codepen.io/Chokcoco/pen/vYExwvm

          容易忽視的點

          通過調節 filter: blur() 及 filter: contrast() 屬性的值,動畫效果其實會有很大程度的變化,好的效果需要不斷的調試。當然,經驗在其中也是發揮了很重要的作用,說到底還是要多嘗試。

          最后

          本文給出的幾個充電動畫,效果漸進增強,本文只指出了最核心的知識點。但是在實際輸出的過程中有很多小細節是本文沒有提及的,感興趣的同學還是應該點進 Demo 好好看看源碼或者自己動手實現一遍。

          好了,本文到此結束,希望對你有幫助 :)

          如果還有什么疑問或者建議,可以多多交流,原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望告知。

          者:semlinker

          轉發鏈接:https://mp.weixin.qq.com/s/3bY8LqOB9_6_3UctQOdAhw


          主站蜘蛛池模板: 亚洲综合在线一区二区三区| 午夜精品一区二区三区在线观看| 国产av福利一区二区三巨| 夜色福利一区二区三区| 黑巨人与欧美精品一区| 国产一区二区三区久久精品| 国产人妖视频一区在线观看| 亚洲Av高清一区二区三区| 国产综合无码一区二区辣椒| 一区二区三区四区在线播放| 国产一区二区草草影院| 亚洲男女一区二区三区| 久久精品一区二区三区不卡| 精品视频一区二区三区四区五区 | 无码精品人妻一区二区三区漫画| 秋霞无码一区二区| 视频在线观看一区二区三区| 成人中文字幕一区二区三区| 无码AV中文一区二区三区| 久久精品国产亚洲一区二区三区| 欧洲精品码一区二区三区免费看 | 国产精品自拍一区| 日韩精品人妻一区二区中文八零| 久久久久久一区国产精品| 国产一区视频在线免费观看| 亚洲Av高清一区二区三区| 末成年女AV片一区二区| 色一乱一伦一图一区二区精品| 无码视频一区二区三区在线观看| 久久毛片免费看一区二区三区| 一区二区三区福利| 日韩精品国产一区| 日本免费一区尤物| 国产成人精品一区二区三在线观看| 久久久无码精品人妻一区| 精品女同一区二区三区免费站| 无码一区二区三区免费视频| 欧美成人aaa片一区国产精品 | 国产一区精品视频| 精品无码一区二区三区水蜜桃| 女同一区二区在线观看|