javascript - 使用 HTML 和 CSS 绘制带有填充的圆弧

标签 javascript html css

这是我尝试使用 HTML 和 CSS 绘制的内容:

enter image description here

我正在尝试绘制一个内部填充的圆弧,我尝试使用边框半径,这里是 how far I could come .

HTML 代码:

<div class="box"></div>

CSS 代码:

.box {
   width:500px; height:100px;  
   border:solid 5px #f9955e;
   border-color:#f9955e transparent transparent transparent;
   border-radius: 50%/100px 100px 0 0;
}

如有任何帮助,我们将不胜感激。

最佳答案

这个怎么样:

.box{
    position:relative;
    background:#fff;
    display:block;
    width:100px; 
    height:100px;  
    border-radius: 50% / 100px 0 0 0;
}

.box::before{
    position:absolute;
    z-index:-1;
    width:100%;
    height:100%;
    background:#f9955e;
    content:"";
}

它不需要对 html 进行任何更改,也不需要包装 div。这只是纯CSS。

这是 jsfiddle:https://jsfiddle.net/h2or0xa1/


好的,解释如下:

我去掉了你的边框,我们不再使用它们了。 我已将 .box div 设置为具有边框半径,可在左侧创建圆弧(假设您知道这是什么,就像示例中的那样)。将 .box div 的背景设置为白色。 添加了一个 ::before 伪元素,该元素本质上是在 .box div“上方”创建一个 div。为了将其移到 div 后面,我将其绝对定位,并给它一个 z 索引 -1,将其推到 .box div 后面。这个 ::before 伪元素的背景颜色是您提供的橙色。本质上, ::before 伪元素创建一个与 box 大小相同的 div,为其着色,并将其插入 .box

后面

关于javascript - 使用 HTML 和 CSS 绘制带有填充的圆弧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33671517/

相关文章:

javascript - 用户滚动时标题会更改颜色,但我如何更改导航栏文本

具有 2 个变量的 Javascript 计算

css - AngularJS ng 类不适用于 :hover pseudoclass

css - 使 Bootstrap 跨度填充容器高度

javascript - 如何在零时替换计算器符号

javascript - 如何显示 Check In 的 jquery datepicker 值加上 1 in Check Out 的值?

javascript - 避免 JS 反向单链表中的竞争条件

javascript - List.js 找到元素但仍然保留其他元素

javascript - 通过类别引入值(value)

javascript - 如何将base64字符串转换为Javascript中的文件对象,该文件对象应该在IE浏览器中工作