哪种浏览器为 SVG 元素的 getBoundingClientRect 返回正确的结果?

问题描述 投票:0回答:1

此 SVG 包含一个溢出 SVG 元素的矩形:

<svg id='svg' width='10' height='10'>
  <rect x='-10' y='-10' width='30' height='30'/>
</svg>

Chrome 28 和 Opera 12 对于宽度和高度为 10 的 SVG 元素返回

getBoundingClientRect()
。Firefox 23 报告宽度和高度为 30。哪个是正确的?

JSFiddle

相关规范是 CSSOM,如果 SVG 元素没有“具有关联的 CSS 布局框”,则该规范委托给 SVG 规范。我还没有找到“具有关联的 CSS 布局框”的定义,但正确的结果似乎取决于此定义,因为

getBBox
在所有浏览器中返回 30x30 矩形。

css svg standards
1个回答
3
投票

此 Firefox 错误已在 Firefox 33 中修复。有关详细信息,请参阅 bug 530985

© www.soinside.com 2019 - 2024. All rights reserved.