【问题标题】:Which browser returns the correct result for getBoundingClientRect of an SVG element?哪个浏览器为 SVG 元素的 getBoundingClientRect 返回正确的结果?
【发布时间】:2013-08-11 19:35:52
【问题描述】:

这个 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 的矩形。

【问题讨论】:

  • 这是臭名昭著的 SVG 边界框错误吗?

标签: css svg standards


【解决方案1】:

此 Firefox 错误现已修复,该修复已在 Firefox nightlies 中进行,并且应该会在 2014 年 10 月 14 日发布的 Firefox 33 中得到修复。有关详细信息,请参阅 bug 530985

【讨论】:

    猜你喜欢
    • 2012-04-15
    • 2015-05-12
    • 1970-01-01
    • 2022-01-24
    • 2021-03-19
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多