2012-03-09 93 views
4

我有一个问题,当高度设置为100%时导致滚动条的div问题。DIV - 100%高度导致滚动条

现在,我的页面内容看起来像;

<body> 

<hr> 

<div id="content"> 

    <div id="heading"> 

    </div> 

</div> 


</body> 

问题是HR是5px,内容是身高的100%。所以,因为它是页面高度的100%,所以它低于HR并创建5px,因此正在制作一个滚动条,我想避免它。

我的问题是,我如何使它的高度100%没有它认为它需要100%pageheight并且不包括页面高度中的HR?

谢谢。

+1

你有没有尝试把hr内容的div? – steveax 2012-03-09 17:08:06

+0

添加内容时,它不会满足吗? – Liam 2012-03-09 17:08:09

回答

2

这种布局最好使用绝对定位来完成。下面是一个例子,使用HTML:http://jsfiddle.net/7KGmZ/

CSS:

#content 
{ 
    position: absolute; 
    top: 20px; 
    right: 0px; 
    bottom: 0px; 
    left: 0px; 
}​ 
+0

这工作很好,谢谢。另外,从内容div中删除“高度”标签,它仍然会增长到身体标签..整洁。谢谢! – Konzine 2012-03-09 17:21:11

1
  • 您可以删除hr并在headingdiv上放置边框。
  • 您可以删除hr并在contentdiv上放置边框,并将box-sizing属性更改为border-box
  • 您可以将hr移动到contentdiv之内。
2

你可以试试:

position: absolute; 
top: 0px; 
bottom: 0px; 

然而,这将在人力资源重叠。如果您将顶部位置设置为5px,则不会。

1

您可以设置position: absolute,然后使用top: 5pxbottom: 0;定位。

0

对于我来说,问题出在页面顶部的一些元素上边距,顶部填充或顶部边框,我的身体上边框10px,使其0px后滑杆消失。