css - 哪个浏览器返回 SVG 元素的 getBoundingClientRect 的正确结果?

标签 css svg standards

此 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 布局框”,则委托(delegate)给 SVG 规范。我还没有找到“具有关联的 CSS 布局框”的定义,但正确的结果似乎取决于此定义,如 getBBox在所有浏览器中返回一个 30x30 的矩形。

最佳答案

此 Firefox 错误现已修复,修复已在 Firefox nightlies 中并且应该可以通过 Firefox 33,它将于 2014 年 10 月 14 日发布。参见 bug 530985 了解详情。

关于css - 哪个浏览器返回 SVG 元素的 getBoundingClientRect 的正确结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153989/

相关文章:

html - CSS 行尾背景样式

css - 在顶部隐藏 sap.m.Shell 品牌栏

url - URL 路径中包含多个句点的 URL 是否有效?

c - 确定 C 程序的最简单方法

javascript - Css 文本动画问题

html - 立场:绝对没有按照我的预期去做

javascript - 获取驻留在 iframe 中的 SVG 的 DOM

html - 作为图案的 SVG 图像 - 全宽 - 保持比例

javascript - 使用javascript重叠两个svgs,并保存文件

View 和 $this 中的 Cakephp 助手