CSS半圈(边框,仅轮廓)

我正在尝试使用CSS创建一个圆,

…只有一个div:

<div class="myCircle"></div>

并仅使用CSS定义。不允许使用SVG,WebGL,DirectX等。

我尝试绘制一个完整的圆,然后将另一个圆与另一个圆淡化div,它确实起作用,但是我正在寻找一种更优雅的选择。

回答:

您可以使用border-top-left-radius和border-top-right- radius属性根据框的高度(和添加的边框)在框上四角。

然后在框的顶部/右侧/左侧添加边框以达到效果。

干得好:

.half-circle {

width: 200px;

height: 100px; /* as the half of the width */

background-color: gold;

border-top-left-radius: 110px; /* 100px of height + 10px of border */

border-top-right-radius: 110px; /* 100px of height + 10px of border */

border: 10px solid gray;

border-bottom: 0;

}

或者,您可以将其添加box-sizing: border- box到框中以计算框的宽度/高度,包括边框和填充。

.half-circle {

width: 200px;

height: 100px; /* as the half of the width */

border-top-left-radius: 100px;

border-top-right-radius: 100px;

border: 10px solid gray;

border-bottom: 0;

-webkit-box-sizing: border-box;

-moz-box-sizing: border-box;

box-sizing: border-box;

}

以上是 CSS半圈(边框,仅轮廓) 的全部内容, 来源链接: utcz.com/qa/420005.html

回到顶部