垂直拉伸div

时间:2012-08-14 05:48:10

标签: css html5 css3 html

我正在尝试实现cosntruction,描述here

<div id="wrap">
    <div id="header">
        header
    </div>
    <div id="main">
        main<br/>main<br/>main<br/>main<br/>main<br/>main<br/>
    </div>
</div>
<div id="footer">
    footer
</div>​

#header {
    border-top:20px solid #fff;
    height: 33px;
    line-height: 33px;
    text-align: center;
}
html { height: 100%; }
body { height: 100%; width: 90%; margin: auto; }
#wrap { min-height: 100%;background-color:gray;}
#main {
    overflow: auto;
    padding-bottom: 53px; /* must be same height as the footer */
    background-color: red;
    border: solid 1px blue;
    height: 90%;
}
#footer {
    position: relative;
    margin-top: -53px; /* negative value of footer height */
    height: 33px;
    line-height: 33px;
    border-bottom:20px solid #fff;
    text-align: center;
}

整个页面有背景颜色(灰色),页眉和页脚是透明的(所以你可以通过它看到页面的背景),内容块有红色背景。尽管内容部分是可伸缩的,但它不会填充整个块的背景,只有实际的。

  1. 是否可以用颜色填充整个内容块?
  2. 在尽量减少窗口时,页脚会浮动内容。是否可以禁用此类行为?

2 个答案:

答案 0 :(得分:4)

Here 是您正在寻找的解决方法。希望这会有所帮助。

答案 1 :(得分:0)

将以下代码行添加到您的代码中:

#main{
  position: absolute;
  top: 33px;
  bottom: 33px;
  left: 0;
  right: 0;
}

#wrap{
  position: relative;
}