摘要:和都是相對于內(nèi)邊距邊界的。和即為向上滾動時,元素內(nèi)容區(qū)被遮住的那一部分。同理參考中的各種寬高屬性
引子
曾經(jīng)校招面試的時候,學(xué)習(xí)了三個月前端的我去某廠面試,面試官循循善誘考察了一個開發(fā)中的實(shí)際場景,其中有需要用到某元素的高度,面試官問我clientHeight和offsetHeight的區(qū)別是什么,我當(dāng)時一臉懵逼,這個問題對于當(dāng)時的我來說已經(jīng)完全超綱了...面試結(jié)果自然是面試官感謝我來參加面試...
好漢不提當(dāng)年囧,今天總結(jié)一下常見的元素各種寬高。
沒有橫向滾動條時:clientHeight = css設(shè)置的height + paddingTop + paddingBottom
有橫向滾動條時:clientHeight = css設(shè)置的height + paddingTop + paddingBottom - 滾動條的高度
clientWidth類似,就不再贅述
ps:這個屬性是只讀屬性,對于沒有定義CSS或者內(nèi)聯(lián)布局盒子的元素為0
offsetHeight = ccss設(shè)置的height + paddingTop + paddingBottom + borderTop + borderBottom
offsetWidth類似,就不再贅述
無滾動條時:scrollHeight = clientHeight = css設(shè)置的height + paddingTop + paddingBottom
有滾動條時:scrollHeight = 實(shí)際內(nèi)容的高度 + paddingTop + paddingBottom(即要算上因?yàn)闈L動被遮住的內(nèi)容高度
scrollWidth不再贅述
clientTop = borderTop
clientLeft = borderLeft
以offsetTop為例,搞懂它首先要明白o(hù)ffsetParent是什么
offsetParent是元素最近的有定位的父元素,如果父元素中沒有有定位的,那么就是最近的 table, table cell 或根元素。
offsetTop 和 offsetLeft 都是相對于offsetParent內(nèi)邊距邊界的。
scrollTop即為向上滾動時,元素內(nèi)容區(qū)被遮住的那一部分。
scrollLeft同理
JavaScript 中的各種寬高屬性
MDN
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/116885.html
摘要:和都是相對于內(nèi)邊距邊界的。和即為向上滾動時,元素內(nèi)容區(qū)被遮住的那一部分。同理參考中的各種寬高屬性 引子 曾經(jīng)校招面試的時候,學(xué)習(xí)了三個月前端的我去某廠面試,面試官循循善誘考察了一個開發(fā)中的實(shí)際場景,其中有需要用到某元素的高度,面試官問我clientHeight和offsetHeight的區(qū)別是什么,我當(dāng)時一臉懵逼,這個問題對于當(dāng)時的我來說已經(jīng)完全超綱了...面試結(jié)果自然是面試官感謝我來...
摘要:前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。它能夠?yàn)槲覀兲峁╊愃朴陬A(yù)處理器命名空間等多方面的輔助。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎關(guān)注【前端之巔】微信公眾號(ID:f...
摘要:特意對前端學(xué)習(xí)資源做一個匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對前端學(xué)習(xí)資源做一個匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會及時更新,平時業(yè)務(wù)工作時也會不定期更...
摘要:重繪元素做了一些不影響排版的改變,比如背景色下劃線等等,只需要重新繪制的過程,叫做重繪。顯然回流帶來的代價大于重繪,因?yàn)橹乩L僅僅是重新畫一遍元素而已,但是重繪是重新計算重新畫。不然這會導(dǎo)致大量地讀寫這個結(jié)點(diǎn)的屬性。 瀏覽器的大概工作流程 以普通的HTML頁面為例: 解析HTML文檔,生成dom樹 解析css產(chǎn)生css規(guī)則樹 解析JavaScript,通過DOM-API來操作dom樹和...
閱讀 3442·2023-04-25 19:42
閱讀 1459·2021-11-23 10:11
閱讀 2436·2021-11-16 11:51
閱讀 1663·2019-08-30 15:54
閱讀 2118·2019-08-29 18:44
閱讀 1722·2019-08-23 18:24
閱讀 548·2019-08-23 17:52
閱讀 1860·2019-08-23 15:33