CSS是前端開發中一個不可或缺的技術,今天我們來學習如何使用CSS制作一個動態圓環。
.circle { position: relative; display: inline-block; width: 80px; height: 80px; margin: 0 10px; } .outer { position: absolute; width: 100%; height: 100%; border-radius: 50%; border: 10px solid #eee; } .inner { position: absolute; width: 100%; height: 100%; border-radius: 50%; clip: rect(0, 40px, 80px, 0); background-color: #3498db; transform: rotate(0deg); } .percent { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 24px; font-weight: bold; color: #3498db; }
以上是我們需要用到的CSS樣式,接下來我們來看看html代碼:
<div class="circle"> <div class="outer"></div> <div class="inner"></div> <div class="percent">0%</div> </div>
我們將圓分為內外兩層,內層是需要動態變化的圓環。接下來,我們通過JavaScript來設置內層圓環的顏色和百分比:
function setProgress(percent) {
const circle = document.querySelector('.inner');
const circumference = 2 * Math.PI * circle.getBoundingClientRect().width;
const offset = circumference - percent / 100 * circumference;
circle.style.strokeDasharray =${circumference} ${circumference}
;
circle.style.strokeDashoffset = offset;
}
setProgress(50); // 設置圓環進度為50%
以上是設置內層圓環的JavaScript代碼,其中setProgress()
函數接收一個百分比參數,計算出圓環的偏移量,從而實現動態效果。
通過CSS和JavaScript的結合,我們成功地制作出了一個動態圓環!