变换后的SVG元素上的getBoundingClientRect()应该返回什么?

时间:2012-05-17 01:37:21

标签: javascript svg specifications

今天我测试了在已经旋转的SVG元素上使用getBoundingClientRect()时会发生什么。

测试:http://phrogz.net/svg/getBoundingClientRect-on-rotated-elements.html

结果是:

  • Chrome,Safari,Opera和IE似乎计算元素的本地(未转换)边界框,然后返回该边界框的客户端rect 。这可能导致客户端矩形大于合适的值。

  • 另一方面,Firefox剪辑客户端矩形以适应元素本身。


Visual appearance of the two cases;

根据规格,哪种行为是正确的?

对于它的价值,我prefer the Firefox behavior,但是(没有理解规格)认为 Firefox的偏差应该是considered a bug

1 个答案:

答案 0 :(得分:3)

非Firefox浏览器似乎没有提供有用的结果,似乎也不符合相关规范。

CSSOM View Module代表SVG规范,它说它是tight bounding box after transforms而不是紧密的边界框转换,所以我坚持认为我是正确实现的。