getClientRects()方法是否应该把css transform的结果计算在内?

我的疑问源自这里:
http://www.w3.org/TR/cssom-view/#the-getclientrects-and-getboundingclientrect-methods

最近用到了getClientRects()这个方法,但发现不同浏览器下的结果不同,主要是webkit会将transform后的结果返回,而gecko则会忽略transform,将变换前的坐标和尺寸返回。(后来试了一下IE 9+,表现和webkit相同)

自己写了个简单的DEMO:
http://jsbin.com/anumis/

DEMO中,gecko的处理结果在transform前后的结果相同,webkit则不同。

我个人对标准中原文(position of the border box edges of an element relative
to the viewport)的理解是:应该把transform结果也计算在内,这样才真实的呈现了viewport的效果。不知大家怎么看这个问题。


Jinks Zhao | 勾三股四
jinks@maxthon.com
http://weibo.com/mx006 

Received on Monday, 2 July 2012 09:51:17 UTC