此 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。哪个是正确的?
相关规范是 CSSOM,如果 SVG 元素没有“具有关联的 CSS 布局框”,则该规范委托给 SVG 规范。我还没有找到“具有关联的 CSS 布局框”的定义,但正确的结果似乎取决于此定义,因为
getBBox
在所有浏览器中返回 30x30 矩形。
此 Firefox 错误已在 Firefox 33 中修复。有关详细信息,请参阅 bug 530985。