CSS3靜態環形進度條是前端開發中常用的一種UI組件,可以根據需求調整進度條的大小、顏色、粗細等屬性。
.progress { border: 2px solid #e0e0e0; border-radius: 50%; width: 100px; height: 100px; position: relative; overflow: hidden; } .progress::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 2px solid #3fd1f6; border-radius: 50%; box-sizing: border-box; } .progress::after { content: ""; display: block; position: absolute; top: 0; left: 0; width: 50%; height: 100%; background-color: #3fd1f6; transform-origin: left; animation: progress-bar 2s linear forwards; } @keyframes progress-bar { 0% { transform: rotate(0deg); } 100% { transform: rotate(180deg); } }
上面的代碼是一個簡單的CSS3靜態環形進度條。首先定義一個類名為.progress的div元素,設置它的屬性,如邊框、寬高等。然后通過偽元素:before和:after創建一個空心圓和一個實心圓,實現封閉的環形進度條。在實心圓上應用了一個2秒線性動畫,通過transform: rotate()來控制進度條的旋轉角度。
可以通過修改類名為.progress、顏色、寬高等屬性來自定義自己的環形進度條。CSS3靜態環形進度條的好處是兼容性較好、體積小、加載速度快,且可以通過純CSS代碼實現動畫效果,避免了使用JS帶來的額外開銷。