<div>高度不随内容扩展。设置“height:auto”会删除边框</div>

时间:2012-01-05 22:55:23

标签: css html border

我的网页设置高度,每边和底部都有蓝色边框。这个网页有一个Facebook评论框,我注意到一定数量的评论后,评论超出了我的页脚下面的网页。这样做是因为添加到网页的评论越多,网页获得的时间就越长。由于我的网页有一个设定的高度评论开始在页面上运行。对此的简单解决方案是将div高度设置为自动样式或根本不设置高度。我这样做了,出于某种原因,当我这样做时,我的网页边框消失了。我的问题是如何让我的网页延伸到Facebook评论,而我的边界不会消失。

#bodywrap {
width: 910px;
border-left-width: 1px;
border-left-style: solid;
border-left-color: #9FD6E1;
border-right-width: 1px;
border-right-style: solid;
border-right-color: #9FD6E1;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #9FD6E1;
height: 2025px; /*if i set this to auto my borders disappear*/

3 个答案:

答案 0 :(得分:2)

<div style="clear:both;"></div>标记后插入<div id="sidenav"></div>,您就可以了。

身体包裹的两个内部div正在浮动,因此,不在文件流中。

答案 1 :(得分:0)

要获取特定div使用的滚动条:

overflow-y: scroll

在你的CSS和身高。这应该工作正常

答案 2 :(得分:0)

这是一种罕见的情况,您希望在CSS中的元素上设置显式高度,尤其是整个页面。除了可能导致溢出的内容量(用户字体设置,视口大小等)之外,还有更多内容。我认为这是一个常见的“新手”错误,大多数时候你想让内容决定容器的高度,如果有必要,也许可以使用min-height

  1. 删除硬编码高度
  2. #bodywrap元素上尝试clearfix。有时你需要这个来制作背景和边框似乎在有浮动元素时包裹内容。
  3. 如果第2步没有帮助,我可以向您保证第1步仍然很重要(除非您想要元素或内容溢出的滚动条)。


    不相关:

    您可以使用简写:

    将边框的CSS压缩到此处
    border:1px solid #9FD6E1;
    border-top:0;
    

    请参阅:http://www.sitepoint.com/introduction-css-shorthand/