思路:在一个div中设置两个背景颜色相同的半圆,通过分别旋转这两个半圆互相遮挡来呈现各种角度的扇形。
HTML代码
<div class="shanxing">
<div class="sx1"></div>
<div class="sx2"></div>
</div>
CSS代码
.shanxing {
position: absolute;
width: 200px;
height: 200px;
border-radius: 50%; /* 设置border-radius为50%可以变成圆形 */
background-color: #000000; /* 这是扇形的颜色:黑色 */
}
.sx1,.sx2 {
position: absolute;
width: 200px;
height: 200px;
border-radius: 100px;
transform: rotate(0deg);
/* clip属性用于裁剪图像,这里把两个圆裁成两个半圆 */
clip: rect(0px, 100px, 200px, 0px);
background-color: #ffffff;
}
/* 改变扇形角度,通过设置rotate的角度值 */
.shanxing .sx1 {
transform: rotate(0deg);
}
.shanxing .sx2 {
transform: rotate(100deg);
}
效果如图:
说白了其实是用两个白色的半圆来遮挡一个有颜色的圆的部分区域,但是我试了几种方法还是无法去掉这个讨厌的边框,希望有懂的朋友可以在评论指教一下🙏