最近幾天在忙一些瑣碎的事情
可自由支配的時間較少
但有些任務每天還是堅持下來了
逆水行舟 不進則退
?
Hello!小伙伴!
非常感謝您閱讀海轟的文章,倘若文中有錯誤的地方,歡迎您指出~
自我介紹 「?(?ˊ?ˋ)?」
昵稱:海轟
標簽:程序猿|C++選手|學生
簡介:因C語言結識編程,隨后轉入計算機專業,有幸拿過一些國獎、省獎...已保研。目前正在學習C++/Linux/Python
學習經驗:扎實基礎 + 多做筆記 + 多敲代碼 + 多思考 + 學好英語! 初學Python 小白階段
文章僅作為自己的學習筆記 用于知識體系建立以及復習
題不在多 學一題 懂一題
知其然 知其所以然!
?
在這里插入圖片描述
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;}
}
使用span標簽,設置
width : 96px;
height: 96px;
background: white;
效果圖如下
在這里插入圖片描述
span圓角化
border-radius: 50%;
效果圖如下
為span設置動畫
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 畫一個電池,這個不難,隨便整一個:
歐了,勉強就是它了。有了電池,那接下來直接充電吧。最最簡單的動畫,那應該是用色彩把整個電池灌滿即可。
方法很多,代碼也很簡單,直接看效果:
有內味了,如果要求不高,這個勉強也就能夠交差了。通過藍色漸變表示電量,通過色塊的位移動畫實現充電的動畫。但是總感覺少了點什么。
如果要繼續優化的話,需要添加點細節。
我們知道,低電量時,電量通常表示為紅色,高電量時表示為綠色。再給整個色塊添加點陰影的變化,呼吸的感覺,讓充電的效果看起來確實是在動。
到這里,其實只有一個知識點:
我們無法對一個漸變色直接進行 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 也是可以很好的模擬這種動畫效果:
上述 Gif 錄制的效果圖是完全使用 CSS 模擬的效果。
上述例子完整的 Demo:
https://codepen.io/Chokcoco/pen/vYExwvm
拆解一下知識點,最主要的其實是用到了 filter: contrast() 以及 filter: blur() 這兩個濾鏡,可以很好的實現這種融合效果。
單獨將兩個濾鏡拿出來,它們的作用分別是:
但是,當他們“合體”的時候,產生了奇妙的融合現象。
先來看一個簡單的例子:
仔細看兩圓相交的過程,在邊與邊接觸的時候,會產生一種邊界融合的效果,通過對比度濾鏡把高斯模糊的模糊邊緣給干掉,利用高斯模糊實現融合效果。
當然,這種效果在之前的文章也多次提及過,更具體的,可以看看:
當然,這里也是可以加上顏色的變換,效果也很不錯:
上述例子完整的 Demo:
https://codepen.io/Chokcoco/pen/vYExwvm
通過調節 filter: blur() 及 filter: contrast() 屬性的值,動畫效果其實會有很大程度的變化,好的效果需要不斷的調試。當然,經驗在其中也是發揮了很重要的作用,說到底還是要多嘗試。
本文給出的幾個充電動畫,效果漸進增強,本文只指出了最核心的知識點。但是在實際輸出的過程中有很多小細節是本文沒有提及的,感興趣的同學還是應該點進 Demo 好好看看源碼或者自己動手實現一遍。
好了,本文到此結束,希望對你有幫助 :)
如果還有什么疑問或者建議,可以多多交流,原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望告知。
者:semlinker
轉發鏈接:https://mp.weixin.qq.com/s/3bY8LqOB9_6_3UctQOdAhw
*請認真填寫需求信息,我們會在24小時內與您取得聯系。