【问题标题】:How to set fill color for svg rect如何为svg rect设置填充颜色
【发布时间】:2018-06-09 23:08:47
【问题描述】:

我在 svg 中有以下图标,其中包含一个矩形。 我需要用红色着色(现在它们是白色的)。 使用我当前的 CSS 解决方案,我无法获得想要的结果。 知道如何解决吗?

注意这个问题与其他问题不同,因为它仅与 rect 相关,而不与路径相关。

.icon rect {
  fill: red;
}

html {
  background-color: gray;
}
<div class="icon">
  <svg width="50%" height="50%" viewBox="0 0 16 20" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
      <g transform="translate(-28.000000, -26.000000)" stroke-width="2" stroke="#FFFFFF">
        <rect x="43" y="27" width="1" height="18"></rect>
        <rect x="29" y="27" width="1" height="18"></rect>
      </g>
    </g>
  </svg>
</div>

【问题讨论】:

标签: html css svg


【解决方案1】:

您需要更改 gstroke 值(您还内联指定的值),因为它超出了矩形:

.icon g {
  stroke: rgba(0,0,0,0.5);
}
.icon rect {
  fill: red;
}

html {
  background-color: gray;
}
<div class="icon">
  <svg width="50%" height="50%" viewBox="0 0 16 20" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
      <g transform="translate(-28.000000, -26.000000)" stroke-width="2" stroke="#FFFFFF">
        <rect x="43" y="27" width="1" height="18"></rect>
        <rect x="29" y="27" width="1" height="18"></rect>
      </g>
    </g>
  </svg>
</div>

或者简单地从 g 中删除笔画:

.icon rect {
  fill: red;
}

html {
  background-color: gray;
}
<div class="icon">
  <svg width="50%" height="50%" viewBox="0 0 16 20" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
      <g transform="translate(-28.000000, -26.000000)" >
        <rect x="43" y="27" width="1" height="18"></rect>
        <rect x="29" y="27" width="1" height="18"></rect>
      </g>
    </g>
  </svg>
</div>

【讨论】:

  • 为什么你申请的是g stroke而不是rect?
  • 或者他可能只是搜索了 SO 并在已经回答的问题中找到了一些相同的例子。
  • @Radex 因为笔划在矩形上方,请在此处阅读更多内容:w3schools.com/graphics/svg_stroking.asp
  • @Radex 再次检查我的答案,你会明白更多;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-06
  • 2012-07-16
  • 2023-03-09
  • 1970-01-01
  • 2018-11-12
相关资源
最近更新 更多