一、offsetParent
css
元素的offsetParent並非元素的父元素,判斷元素的offsetParent要根據如下狀況:jquery
1)當DOM結構層次中的元素均沒有進行css定位(設置position爲absolute或relative),則offsetParent爲根目錄;
對象
2)當元素的父元素沒有進行css定位,則offsetParent取最近的已經定位的元素;it
3)當元素的父元素進行了css定位,則offsetParent爲父元素;
io
二、offsetLeft,offsetTop
di
在IE中:老是以父元素爲參照對象進行偏移;偏移量會加上父元素的邊框值。query
在非IE中:以最近非靜態定位元素爲參照對象進行偏移。
position
三、jquery的offset()及position()ab
offset():是用於計算絕對偏移量,獲取元素在當前窗口的相對偏移,參照對象爲body。
position():是用於計算相對偏移量,參照對象爲最近非靜態定位的元素。
所以,若是當前元素的上級元素position屬性值都沒有被定義爲absolute,relative,fixed,那麼當前元素的最近父級定位元素就應該是body元素,此時相對偏移位置和絕對偏移位置是相同的。