【发布时间】:2014-04-13 12:02:42
【问题描述】:
我正在尝试在 SVG 中绘制圆圈,但在 chrome/opera 和 IE/firefox 中会产生不同的结果。
附图显示了在 chrome(左)和 firefox(右)中如何绘制圆圈。 .
<svg>
<style>
.circle { fill: #00FF00; stroke: #00FF00; stroke-width: 18px; }
</style>
<circle class="circle" cy="45" cx="390" r="1" />
</svg>
有什么方法可以强制chrome像firefox一样填充圆圈吗?
注意:我知道正确的解决方案在于“r”属性,但我想绘制圆圈宽度“stroke-width”属性,因为它可以通过css设置。在我的应用程序中,有很多圆圈,我需要更改它们的大小并且更改 CSS 属性比更改循环中每个圆圈的“r”属性要快得多。
【问题讨论】:
-
刚刚快速浏览了 w3c 文档,我建议 chrome 实际上正在正确绘制圆圈。通过像您所做的那样设置
r='1',这将为fillw3.org/TR/SVG11/shapes.html#CircleElement提供1px的半径 -
有趣。 Chrome 填充正确但笔划错误?
-
没有。这似乎是一个 Chrome 错误。它不应该是那样的。 FF 是对的。您应该考虑在code.google.com/p/chromium/issues 报告此错误,但请检查它是否尚未报告。
-
我不确定这是否是一个错误,因为opera和chrome一样。 FF 和 IE 有圆圈,Opera 和 chrome 没有。
-
它看起来确实是一个错误:请参阅提交的问题code.google.com/p/chromium/issues/detail?id=239860 和一个测试小提琴fiddle.skia.org/c/022251ed97b2c2e6c545c603035a271f——据我所知,这两个都是底层引擎问题。跨度>