常常碰到offset、scroll、client這幾個關鍵字,每次都要各類實驗,這裏總結一下。javascript
兩張圖鎮樓,隨時翻閱前端
offset
指偏移,包括這個元素在文檔中佔用的全部顯示寬度,包括滾動條、padding
、border
,不包括overflow
隱藏的部分java
offsetParent
屬性返回一個對象的引用,這個對象是距離調用offsetParent
的父級元素中最近的(在包含層次中最靠近的),而且是已進行過CSS定位的容器元素。 若是這個容器元素未進行CSS定位, 則offsetParent
屬性的取值爲根元素的引用。微信
position
爲absolute/relative),offsetParent
爲bodyposition
爲absolute/relative),offsetParent
取父級中最近的元素overflow
而未顯示的部分,也就是其實際佔據的寬度,整型,單位:像素。offsetWidth
= border-width
*2+padding-left
+width
+padding-right
offsetHeight
= border-width
*2+padding-top
+height
+padding-bottom
offsetParent
屬性指定的父座標的計算上側位置,整型,單位:像素。offsetTop
= offsetParent
的padding-top + 中間元素的offsetHeight + 當前元素的margin-topoffsetParent
屬性指定的父座標的計算左側位置,整型,單位:像素。offsetLeft
= offsetParent
的padding-left + 中間元素的offsetWidth + 當前元素的margin-leftscroll
指滾動,包括這個元素沒顯示出來的實際寬度,包括padding
,不包括滾動條、border
學習
client
指元素自己的可視內容,不包括overflow
被摺疊起來的部分,不包括滾動條、border
,包括padding
spa
網上的帖子大多深淺不一,甚至有些先後矛盾,在下的文章都是學習過程當中的總結,若是發現錯誤,歡迎留言指出~code
參考:對象
PS:歡迎你們關注個人公衆號【前端下午茶】,一塊兒加油吧~blog
另外能夠加入「前端下午茶交流羣」微信羣,長按識別下面二維碼便可加我好友,備註加羣,我拉你入羣~ip