圓形分段進(jìn)度條是一種非常酷炫的設(shè)計(jì),它可以讓網(wǎng)頁(yè)看起來(lái)更加動(dòng)態(tài)和生動(dòng)。而使用CSS3實(shí)現(xiàn)圓形分段進(jìn)度條的方法非常簡(jiǎn)單,只需要幾行代碼便可輕松完成。
/* 創(chuàng)建一個(gè)圓形進(jìn)度條的容器 */ .progress-container { position: relative; width: 100px; height: 100px; margin: 50px auto; } /* 創(chuàng)建表示進(jìn)度的圓環(huán) */ .progress-ring { position: absolute; width: 100%; height: 100%; clip: rect(0, 50px, 100px, 0); border-radius: 50%; } /* 創(chuàng)建一個(gè)半透明的灰色圓環(huán) */ .progress-ring:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; border: 10px solid #cccccc; opacity: 0.5; } /* 創(chuàng)建表示進(jìn)度的圓環(huán)的子元素 */ .progress-ring:after { content: ""; position: absolute; top: 0; left: 50%; width: 50%; height: 100%; border-radius: 0 100% 100% 0 / 50%; background-color: #ff0000; transform-origin: left; animation: progress 5s linear infinite; } /* 創(chuàng)建表示進(jìn)度的關(guān)鍵幀動(dòng)畫(huà) */ @keyframes progress { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
首先,我們需要一個(gè)圓形進(jìn)度條的容器,可以通過(guò)設(shè)置容器的大小和位置來(lái)控制進(jìn)度條的顯示效果。然后,我們需要?jiǎng)?chuàng)建一個(gè)表示進(jìn)度的圓環(huán),在其中使用clip屬性來(lái)裁剪出所需的半圓形。接下來(lái),我們創(chuàng)建一個(gè)半透明的灰色圓環(huán),為進(jìn)度條添加一些陰影和深度感。
最后,在表示進(jìn)度的圓環(huán)中添加子元素,使用animation屬性來(lái)控制進(jìn)度條的動(dòng)畫(huà)效果。我們可以通過(guò)關(guān)鍵幀動(dòng)畫(huà)的方式來(lái)控制進(jìn)度條的旋轉(zhuǎn)方向和旋轉(zhuǎn)速度,使用transform-origin屬性控制旋轉(zhuǎn)的原點(diǎn),使進(jìn)度條看起來(lái)更加自然流暢。