我正在尝试使用 CSS 创建一个圆圈,它看起来与下图完全一样:
…只有一个 div
:
<div class="myCircle"></div>
并且 只使用 CSS 定义。不允许使用 SVG、WebGL、DirectX、[…]。
我试着画一个完整的圆圈,然后用另一个 div
淡出一半,它确实有效,但我正在寻找更优雅的替代方案。
原文由 Dyin 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试使用 CSS 创建一个圆圈,它看起来与下图完全一样:
…只有一个 div
:
<div class="myCircle"></div>
并且 只使用 CSS 定义。不允许使用 SVG、WebGL、DirectX、[…]。
我试着画一个完整的圆圈,然后用另一个 div
淡出一半,它确实有效,但我正在寻找更优雅的替代方案。
原文由 Dyin 发布,翻译遵循 CC BY-SA 4.0 许可协议
不久前我遇到了类似的问题,这就是我解决的方法
.rotated-half-circle {
/* Create the circle */
width: 40px;
height: 40px;
border: 10px solid black;
border-radius: 50%;
/* Halve the circle */
border-bottom-color: transparent;
border-left-color: transparent;
/* Rotate the circle */
transform: rotate(-45deg);
}
<div class="rotated-half-circle"></div>
原文由 mariomc 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答980 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
2 回答941 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答913 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
您可以使用
border-top-left-radius
和border-top-right-radius
属性根据框的高度(和添加的边框)对框的角进行圆角处理。然后在框的顶部/右侧/左侧添加边框以实现效果。
干得好:
工作演示。
或者,您可以将
box-sizing: border-box
添加到框中,以计算框的宽度/高度,包括边框和填充。更新演示。 (没有背景颜色 的演示)