当前位置: 首页 > 知识库问答 >
问题:

如何创建包含4个扇区的circle SVG?[副本]

岳浩宕
2023-03-14

我已经为一个有4个扇区的圆创建了一个代码。是否有任何在线的SVG生成器,我可以在这里用SVG创建以下循环,或者有谁可以用SVG代码帮助我?为什么我要在SVG中创建,因为我必须在每个扇区中添加文本。

我发现下面的链接,但这不是我预期的输出。画一个有4个扇区的圆

.wrap {
  position: relative;
}

.circle-donut {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  border-top: 140px solid #a3fe01;
  border-bottom: 140px solid #2800eb;
  border-right: 140px solid #dd6479;
  border-left: 140px solid #ead52c;
}

.inlineWrap {
  position: relative;
}

.absolute {
  position: absolute;
}

.inlineWrap .top {
  top: 0;
}

.inlineWrap .bottom {
  bottom: 0;
}

.inlineWrap .left {
  left: 0;
}

.inlineWrap .right {
  right: 0;
}
<div class="wrap">
  <div class="circle-donut"></div>
</div>

共有1个答案

施越彬
2023-03-14

您可以使用4倍于同一个圆的笔画-dasharray=“.25*tl.75*tl”,其中tl是圆周的总长度,可以作为圆的周长计算,也可以使用getTotAllength()方法计算。

对于第一个use元素,stroke-dashoffset=1/8*tf圆周。第二个use元素有stroke-dashoffset=1/8*tf+1/4tf,第三个有stroke-dashoffset=1/8*tf+2/4tf...等

svg{width:95vh}
<svg viewBox="-50 -50 100 100">
<defs>
  <circle id="c" r="40" stroke-width="20" fill="none" stroke-dasharray="62.75 188.25" />
</defs>
  <use xlink:href="#c" stroke="red" stroke-dashoffset="31.375"/>
    <use xlink:href="#c" stroke="gold" stroke-dashoffset="94.125"/>
   <use xlink:href="#c" stroke="blue" stroke-dashoffset="156.875"/> 
     <use xlink:href="#c" stroke="orange" stroke-dashoffset="219.625"/>
</svg>
 类似资料:
  • 我成功创建了一个包含1个键和2个值的查找表: 但当我试图将其扩展到4个值时,我发现了一系列错误,我发现条目仅限于2个值! 那么,请,如何对1个键和4个值做类似的事情?我不能通过为第一个映射的第二个参数声明内部map.entry来扩展它。条目,因为在这一点上,第一个字符串不再是唯一的,我是说,映射的所有参数。条目 你们不需要走我走的路。你们可以自由地提供任何解决方案/数据结构,允许我存储和检索3个字

  • 我需要画一个有4个扇区的圆。我试着画一个扇区,像这样:

  • 问题内容: 我正在寻找以下所有替代方案,以创建一个包含1到N的JavaScript数组,其中N仅在运行时才知道。 在我看来,应该有一种没有循环的方法。 问题答案: 如果我能得到想要的结果,则需要一个数字数组,以后可以循环使用。 如果这是您所需要的,您可以代替吗? 然后在您要使用它时…(未优化,例如) 例如,如果您不需要在数组中 存储 任何内容,则只需要一个长度合适的容器即可进行迭代……这可能会更容

  • 问题内容: 如果我有一个字符串,并且想要创建一个最初 仅 包含该字符串的集合,那么是否有比以下方法更Python化的方法? 以下是给我的一组字母: 问题答案: 在2.7和3.x中,可以使用:

  • 我不知道如何创建以下内容: 我总是得到 /usr/include/c/5.5.0/bits/stl_对。h:139:45:错误:使用已删除的函数'std::atomic::atomic(const std::atomic 我已经试过了 我知道std::atomic是不可复制的,那么你应该如何创建一对呢?难道这不可能吗?

  • 问题内容: 在下面的示例中,我希望所有元素都是元组,为什么当元组仅包含单个字符串时,它会转换为字符串? 问题答案: 因为前两个元素不是元组;他们只是字符串。括号不会自动使它们成为元组。你必须在字符串后添加一个逗号,以指示python它应该是一个元组。 要修复示例代码,请在此处添加逗号: 从Python文档: 一个特殊的问题是包含0或1项的元组的构造:语法具有一些额外的怪癖来容纳这些项。空元组由一对