CSS圓弧進度條
圓弧進度條是一種非常實用和美觀的UI元素,經常用于顯示加載進度、上傳進度、下載進度和其他進程的狀態。在這篇文章中,我們將介紹如何使用CSS圓弧進度條制作這些UI元素。
HTML代碼如下:
<div class="progress"> <div class="progress-bar"></div> </div>
我們需要為整個進度條添加一個容器div,并添加一個子元素div作為進度條本身。然后,我們可以使用CSS樣式為這個元素添加動態效果。
CSS代碼如下:
.progress { position: relative; display: inline-block; width: 100px; height: 100px; background: radial-gradient(50% 50%, #fff, #eee); border-radius: 50%; } .progress-bar { position: absolute; top: 0; left: 0; width: 100%; height: 100%; clip: rect(0px, 50px, 100px, 0px); background-color: #007bff; border-radius: 50%; transform: rotate(90deg); transform-origin: center center; animation: progress-bar 3s linear; } @keyframes progress-bar { from { transform: rotate(90deg); } to { transform: rotate(450deg); } }
在上述CSS中,我們定義了兩個選擇器,分別為.progress和.progress-bar。 .progress將用于容器div,并設置其樣式。 .progress-bar用于進度條本身,并設置其樣式。
在.progress CSS中,我們設置容器div的樣式,包括高度、背景、邊框半徑等。我們使用radial-gradient()創建了一個徑向漸變背景,從#fff到#eee。然后我們將邊框半徑設置為50%,使容器div成為一個圓形。
在.progress-bar CSS中,我們使用clip屬性將進度條截斷。創造一個矩形區域并將其切割到特定的大小。我們把左上角坐標設為0px,0px,右下角坐標設為100px,100px,使其只顯示矩形的左半部分,然后使用background-color屬性設置其顏色為藍色。
接下來,我們通過transform屬性將其旋轉90度,使進度條部分從頂部開始并繞圓心旋轉。我們使用transform-origin屬性使元素在其中心處旋轉。最后,我們為它添加了一個3秒鐘的動畫,名稱為progress-bar。
這就是CSS圓弧進度條的全部代碼。通過設置.clip屬性,我們可以調整進度條的長度,從而實現不同的進度效果。如果您需要添加百分比文本,請使用CSS的::before 或 ::after偽元素來插入內容。