9

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

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

结果是:

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

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

 
                          两种情况的视觉外观;  

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

对于它的价值,我更喜欢 Firefox 的行为,但是(不了解规范)认为Firefox 的偏差应该被视为一个错误

4

1 回答 1

3

非火狐浏览器似乎没有给出有用的结果,也似乎不符合相关规范。

CSSOM 视图模块委托给 SVG 规范,该规范说它是变换后的紧密边界框,而不是变换后的紧密边界框,所以我认为我正确地实现了它。

于 2012-05-17T08:31:04.617 回答