client、offset个人心得

obj.offsetWidth = width+padding+border(个人理解包括滚动条) obj.clientWidth = width+padding obj.scrollWidth = width+padding (滚动条出现时 其宽度高度和client一样)

当offsetParent不为body时:

offsetLeft=(offsetParent的padding-left)+(中间元素的offsetWidth)+(当前元素的margin-left)。 offsetTop=(offsetParent的padding-top)+(中间元素的offsetHeight)+(当前元素的margin-top)。

当offsetParent为body时情况比较特殊:

IE7

offsetLeft=(body的padding-left)

IE8/9/10及Chrome

offsetLeft = (body的margin-left)+(body的border-width)+(body的padding-left)+(当前元素的margin-left)。

FireFox

offsetLeft = (body的margin-left)+(body的padding-left)+(当前元素的margin-left)。


client、offset个人心得
http://example.com/2015-01-19 client-screen-page-offset详解/
作者
csorz
发布于
2015年1月19日
许可协议