2010-08-27 104 views
1

我嘗試獲取div元素的確切高度。它應該是.outerHeight(),但如果div的最後一個孩子有邊框底部,則這不起作用。 我做了一點例如:jQuery使用Div元素的高度

HTML:

<div id="iWantThisHeight" class="box"> 
<div id="div1" style="">innerDiv1</div> 
<div id="div2" style="">innerDiv2</div> 
</div> 

定製CSS:

.box div{ 
    height:100px; 
    margin-bottom:20px; 
} 

代碼例如:http://jsfiddle.net/T3b6r/4/ 所使用的高度schould是240像素(2x100px身高+ 2x20px餘量),但最後的margin-bottom被忽略。 (邊緣被忽略完整的方式)

我監督的東西或我必須檢查每個元素的邊距,以獲得div使用的空間?

+0

計算出的'margin-top'是'0'。 – BrunoLM 2010-08-27 10:32:19

回答

2

如果將容器div包裝在邊框中,它將根據需要返回高度。只需使用與背景相同的顏色邊框即可。

參見http://jsfiddle.net/T3b6r/7/

+0

一個邊框不適合我的設計。但你打了個主意:「display:inline-block;」 http://jsfiddle.net/T3b6r/8/ – fehrlich 2010-08-27 10:56:17

0

您使用的是.outerHeight(true)嗎?如果沒有布爾值,將不包含邊距。

+0

是的,但我仍然忽略了兒童的利潤 – fehrlich 2010-08-27 10:27:33

+0

我不太確定outerHeight()是如何工作的,但是可能最終的margin-bottom不會計數,因爲父元素已經結束 - 如果我檢查jsfiddle例如,Chrome報告父級高度爲220px,並且最終的margin-bottom不計算在內。 要強制計數,您可以添加換行符或類似行。 – danielgwood 2010-08-27 10:32:35

+0

,看起來像soem怪異的盒子模型問題,doens't它? Chrome會以不同的方式計算它是否存在邊框:http://imgur.com/Voecr.png可以通過指定文檔類型來解決這個問題嗎? – 2010-08-27 10:35:09