做为走上前端不归路的我,以前只是认为offsetTop是元素的左边框至包含元素offsetParent的左内边框之间的像素距离,同理offsetRight是相对于上内边框。那么问题来了,包含元素offsetParent究竟是谁呢?
其实:
页面中的元素的offsetLeft是离其最近的已经定位的元素,如果没有就相对于body元素计算。
通过查阅资料我还发现 IE6,IE7 对offsetParent解释有BUG,当祖先元素都不是定位元素且本身是定位元素的时候返回document.documentElement,其他情况终返回document.body。