SS 制作弧形进度条,可以通过使用 border-radius 属性来控制边框的圆角半径,并搭配 linear-gradient 渐变来实现效果。关键代码示例如下:
.progress {
position: relative;
width: 200px;
height: 200px;
border-radius: 50%;
background-color: #ccc;
}
.progress::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
clip: rect(0, ${value}, auto, 50%);
background-color: #f90;
transform-origin: left center;
transform: rotate(${angle});
}
其中,${value} 代表动态计算出来的进度值所占宽度的百分比,如:clip: rect(0, 70%, auto, 50%);
表示剪裁掉左上和右上部分的 30%,只显示进度右侧的 70% 部分;${angle} 代表根据值计算出来的旋转角度,以使进度条从底部开始逆时针渲染。