Svg 零半径圆角的正确渲染是什么<;rect>;?

Svg 零半径圆角的正确渲染是什么<;rect>;?,svg,language-lawyer,Svg,Language Lawyer,如何绘制此SVG文档?它是一个圆角矩形,X半径显式设置为零,Y半径非零: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 288 216" height="3in" width="4in"> <g> <rect rx="0"

如何绘制此SVG文档?它是一个圆角矩形,X半径显式设置为零,Y半径非零:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 288 216" height="3in" width="4in">
  <g>
    <rect
       rx="0"
       ry="36"
       y="36"
       x="54"
       height="108"
       width="162" />
  </g>
</svg>

在你的浏览器上试试这个

我尝试过的每个程序(Inkscape、Chrome、Safari、IE 11)都呈现如下效果:

这将
rx
设置为等于
ry
的值。这是正确的吗?报告说:

  • 否则,如果为“ry”提供了正确指定的值,但没有为“rx”提供,则将rx和ry都设置为“ry”值
  • 但我不明白这在这里是如何应用的,因为
    rx
    被正确指定。规范仅限制负值:

    对于圆角矩形,椭圆的x轴和y轴半径用于圆角矩形的角。任何一个属性的负值都是错误(请参见错误处理)

    如果
    rx
    被取为0(而不是设置为
    ry
    ),这将定义一个1D退化椭圆,该椭圆将给出矩形未圆角(即方形)角:

    根据规范,我的阅读将使其成为正确的行为,但我发现很难相信每个应用程序都错误地实现了它


    请注意,我并不是说观察到的行为不方便,也不需要任何解决方法。我只想知道它是否符合规范,如果符合,规范中定义它的具体语言是什么?

    应该按照SVG规范呈现
    而不带圆角。Firefox实现了编写的SVG规范的这一部分。

    @RobertLongson感谢您的建议。与Inkscape和其他浏览器不同,Firefox使用方形角渲染。好的,我已经把Firefox放在我的角落里了……太好了,在其余的bug追踪程序上引发bug。另外,在Safari上,如果你将rx和ry设置为样式,除非ry或rx属性存在,否则它们不会被应用。好的,bug已经提交。