2010-08-27 101 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