JavaScript offsetHeight
offsetHeight 屬性可以返回指定元素的佈局高度,只讀屬性。
佈局高度所涵蓋的內容不僅包括 CSS height 定義的高度,還有其他內容。
屬性的返回值是一個數字(不帶任何單位,預設以畫素計)。
語法結構:
[JavaScript] 純文字檢視 複製程式碼let num = dom.offsetHeight
佈局高度圖示如下:
紅色橫線框定之間是 offsetHeight 屬性返回值,下面分析一下具體構成:
(1).包含元素的高度,這個高度是 CSS height 屬性規定的值。
(2).包含上下內邊距的尺寸。
(3).不包含上下外邊距的尺寸。
(4).包含底部水平滾動條的高度(向內佔據尺寸)。
offsetHeight 屬性有幾點再強調一下:
(1).返回值是數值,不帶任何單位,預設單位是畫素。
(2).與CSS height 不同,雖然可能在數值在相等。
(3).如果元素的CSS display 屬性值為none,返回值為0.
(4).offsetHeight 返回值會對數值進行四捨五入取整,假如實際值是260.5,那麼返回261。
如果想要獲取獲取精確的值,推薦使用 getBoundingClientRect() 方法。
瀏覽器相容:
(1).IE 瀏覽器支援此屬性。
(2).edge 瀏覽器支援此屬性。
(3).谷歌瀏覽器支援此屬性。
(4).opera 瀏覽器支援此屬性。
(5).火狐瀏覽器支援此屬性。
(6).safari 瀏覽器支援此屬性。
程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="https://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #ant { width :100px; height :50px; line-height :50px; text-align :center; border :10px solid #ccc; padding-top :10px; padding-bottom :5px; font-size :12px; color :green; } </style> <script> window.onload = ()=> { let oDiv=document.getElementById("ant"); oDiv.innerHTML=oDiv.offsetHeight; } </script> </head> <body> <div id="ant"></div> </body> </html>
將 offsetHeight 屬性值寫入 div 中,執行效果截圖如下:
對上述程式碼分析如下:
(1).屬性返回值是數值型別,預設以畫素計。
(2).35 = height + border-top + border-bottom + padding-top + padding-bottom。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="https://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #box { width :200px; height :100px; line-height :100px; border:10px solid #ccc; padding-top :10px; text-align :center; font-size :12px; overflow :auto; } #ant { width :500px; height :20px; background :green; } </style> <script> window.onload = ()=> { let oDiv=document.getElementById("box"); console.log(oDiv.offsetHeight); } </script> </head> <body> <div id="box"> <div id="ant"></div> </div> </body> </html>
上述程式碼瀏覽器執行效果截圖如下:
offsetHeight 屬性值谷歌開發者工具控制檯截圖如下:
出現水平滾動條,offsetHeight 屬性返回值包括這個滾動條的高度。
谷歌瀏覽器此高度為 17px(也許以後會變,也許其他瀏覽器的值不同,以實測為準)。
注意:滾動條的高度包括在 height 高度之內(height超過滾動條高度時候)。
相關文章
- javascript - 所有的檢視屬性和方法(offsetHeight、clientHeight、scrollHeight、innerHeight等)JavaScriptclient
- element.clientHeight,offsetHeight,scrollHeightclient
- js 中style.height和offsetHeight比較JS
- offsetWidth和offsetHeight屬性用法簡單介紹
- display:none的元素無法獲取offsetWidth和offsetHeightNone
- 為什麼給offsetWidth和offsetHeight賦值無效賦值
- clientWidth、clientHeight、offsetWidth、offsetHeight以及scrollWidth、scrollHeightclient
- JavaScript高階:JavaScript物件導向,JavaScript內建物件,JavaScript BOM,JavaScript封裝JavaScript物件封裝
- javaScript系列[06]-javaScript和thisJavaScript
- 【JavaScript學習】JavaScript物件建立JavaScript物件
- 【轉】eval()函式(javascript) - [javaScript]函式JavaScript
- [Javascript] How javascript read the property?JavaScript
- JavaScript -"this"JavaScript
- javascript ??JavaScript
- This in JavaScriptJavaScript
- “This” is For JavaScriptJavaScript
- javascript thisJavaScript
- JavaScriptJavaScript
- javaScript系列[05]-javaScript和JSONJavaScriptJSON
- 44 道 JavaScript 難題(JavaScript Puzzlers!)JavaScript
- 【轉向JavaScript系列】AST in Modern JavaScriptJavaScriptAST
- javascript,還是javascript的問題JavaScript
- JavaScript 教程之JavaScript常用框架簡介JavaScript框架
- 《深入理解JavaScript》——2.3 JavaScript有用嗎JavaScript
- 【JavaScript】--JavaScript總結一覽無餘JavaScript
- 【HTML、JAVASCRIPT、CSS】3、Javascript基本概念HTMLJavaScriptCSS
- [Javascript] Understanding JavaScript Proxies with Symbol.toPrimitiveJavaScriptSymbolMIT
- JavaScript EventJavaScript
- JavaScript BackdoorJavaScript
- JavaScript normalize()JavaScriptORM
- JavaScript setDate()JavaScript
- JavaScript setMinutes()JavaScript
- JavaScript getDate()JavaScript
- JavaScript setHours()JavaScript
- JavaScript setUTCMinutes()JavaScript
- JavaScript setUTCHours()JavaScript
- JavaScript setUTCFullYear()JavaScript
- JavaScript setUTCMonth()JavaScript