使用css實現(xiàn)水波加載動畫效果
csdn 發(fā)布時間:2023-04-23 16:03:53 作者:北極光之夜。
我要評論
這篇文章主要介紹了使用css實現(xiàn)水波加載動畫效果,技術上只用到了css+html,還是非常容易學習的,做出來的效果也很不錯,需要的朋友可以參考下
先看效果:

原理:
原理是比較簡單的,大致上就是有一個背景色為藍色的圓形;然后圓形上面有一個或兩個有弧度的白色方形盒子在旋轉,通過白色遮住藍色形成像是波浪的視差。
實現(xiàn):
1.定義兩盒子,quan就是那個圓形,shui就是圓里藍色的背景;
<div class="quan">
<div class="shui"></div>
</div>
2.基本樣式,這樣大致上就是得到一個藍色背景的圓,細節(jié)就不說了自己看看就行~
.quan{
position: relative;
width: 180px;
height: 180px;
border-radius: 50%;
border: 3px solid rgb(246, 247, 248);
box-shadow: 0 0 0 3px rgb(41, 134, 196);
}
.shui{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgb(23, 106, 201);
border-radius: 50%;
overflow: hidden;
}
3.定義偽類,就是要旋轉的有角度的盒子:
.shui::after{
content: '';
position: absolute;
top: 0;
left: 50%;
width: 150%;
height: 150%;
border-radius: 40%;
background-color: rgb(240, 228, 228);
animation: shi 5s linear infinite;
}
4.實現(xiàn),把白色盒子偏移到能覆蓋圓上半部分,然后讓它一直轉:
@keyframes shi{
0%{
transform: translate(-50%,-65%) rotate(0deg);
}
100%{
transform: translate(-50%,-65%) rotate(360deg);
}
}
5.同上,再來一個白色盒子,不過背景色要設置透明度別覆蓋掉了上一個:
.shui::before{
content: '';
position: absolute;
top: 0;
left: 50%;
width: 150%;
height: 150%;
border-radius: 42%;
background-color: rgb(240, 228, 228,0.2);
animation: xu 7s linear infinite;
}
@keyframes xu{
0%{
transform: translate(-50%,-60%) rotate(0deg);
}
100%{
transform: translate(-50%,-60%) rotate(360deg);
}
}
完整代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
padding: 0;
margin: 0;
box-sizing: border-box;
}
body{
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background-color: rgb(240, 228, 228);
}
.quan{
position: relative;
width: 180px;
height: 180px;
border-radius: 50%;
border: 3px solid rgb(246, 247, 248);
box-shadow: 0 0 0 3px rgb(41, 134, 196);
}
.shui{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgb(23, 106, 201);
border-radius: 50%;
overflow: hidden;
}
.shui::after{
content: '';
position: absolute;
top: 0;
left: 50%;
width: 150%;
height: 150%;
border-radius: 40%;
background-color: rgb(240, 228, 228);
animation: shi 5s linear infinite;
}
@keyframes shi{
0%{
transform: translate(-50%,-65%) rotate(0deg);
}
100%{
transform: translate(-50%,-65%) rotate(360deg);
}
}
.shui::before{
content: '';
position: absolute;
top: 0;
left: 50%;
width: 150%;
height: 150%;
border-radius: 42%;
background-color: rgb(240, 228, 228,0.2);
animation: xu 7s linear infinite;
}
@keyframes xu{
0%{
transform: translate(-50%,-60%) rotate(0deg);
}
100%{
transform: translate(-50%,-60%) rotate(360deg);
}
}
</style>
</head>
<body>
<div class="quan">
<div class="shui"></div>
</div>
</body>
</html>
到此這篇關于使用css實現(xiàn)水波加載動畫效果的文章就介紹到這了,更多相關css水波加載動畫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
相關文章
CSS為HTML標記語言提供了一種樣式描述,定義了其中元素的顯示方式,由于CSS2的大量普及應用,逐漸的從CSS2開始大家就簡稱為CSS,那么CSS3.0和CSS2.0有什么區(qū)別2023-04-18
本文主要介紹了CSS+JS實現(xiàn)動態(tài)翻書效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-17
CSS中height:100vh和height:100%的區(qū)別
本文主要介紹了CSS中height:100vh和height:100%的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學2023-04-06
這篇文章主要介紹了通過HTML+CSS實現(xiàn)折疊樣式完整代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-03
這篇文章主要介紹了CSS實現(xiàn)鼠標懸停svg圖標描邊效果,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-30
本文主要介紹了純CSS實現(xiàn)了下劃線的交互動畫效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學2023-03-06- 想要塊級元素居右往往設置 margin-right: 0 屬性是行不通的,下面介紹五種方法,不同場景適用不同方法,感興趣的朋友跟隨小編一起看看吧2023-03-06
當我們想在圖片上面放置一些文字內(nèi)容時,發(fā)現(xiàn)不管怎么放置,要么就是圖片影響到文字的觀感,要么就是文字擋住圖片的細節(jié),那么怎么可以既看到圖片的細節(jié)又可以看到對圖片的2023-03-01
按鈕在開發(fā)中使用的頻率非常的高,ui 框架中的按鈕組件也都是層出不窮,今天教大家僅用 css 實現(xiàn)一些非常炫酷的按鈕效果,感興趣的朋友跟隨小編一起學習吧2023-02-28
CSS 彈性布局Flex詳細講解(Flex 屬性詳解、場景分析)
Flex 是 Flexible Box 的縮寫,意為"彈性布局",用來為盒狀模型提供最大的靈活性,這篇文章主要介紹了Css 彈性布局Flex詳細介紹(Flex 屬性詳解、場景分析),需要2023-02-28







