Div高度不会延伸到页面底部

时间:2013-10-22 16:42:07

标签: html css

我正在开发一个我正在开发的网站的页面布局:

-------------------------------------Top Bar-------------------------------------
|                                                                               |
---------------------------------------------------------------------------------
--------Content (Has a dark filter that goes over the main background image)-----
------------ Main Content---------------------------|-------------SideBar--------
|                                                   |                           |
|                                                   |                           |
|                                                   |                           |
|                                                   |                           |
|                                                   |                           |
|                                                   |                           |
|                                                   |                           |
---------------------------------------------------------------------------------

在我的页面中通常是一张照片,出于设计目的,我需要应用深色滤镜。所以我创建了一个用于此目的的.content类,并且所有内容(除了顶部栏)都在其中。

我遇到的问题是,当.main-content容器中的内容超出页面高度时,过滤器不会转到页面底部。我的.content高度为100%,以及body和html标签。

html {
    font-size: 16px;
    height:100%;
    overflow:auto;
}
body {
    font-size: 62.5%;
    /*10px = 1em*/
    line-height: 1.4;
    width:100%;
    height: 100%;
    min-height: 100%;
    overflow: auto;
}
.top-bar {
    width:100%;
    height:58px;
    position:fixed;
    top:0px;
    z-index: 5;
}
.top-bar.user {
    background-color:rgba(0, 0, 0, 1);
    font-size: 1.2em;
}
.content {
    display: block;
    margin-top: 58px;
    /* = top bar height*/
    width: 100%;
    height: 100%;
    min-height: 100%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.main-content {
    float: left;
    width: 75%;
    height: 100%;
}
.sidebar {
    position: fixed;
    right: 0;
    width: 25%;
    height: 100%;
}

我尝试在此处创建问题:http://jsfiddle.net/apGgd/3/

你可以看到,随着表的扩展,过滤器(灰色背景)不会沿着它展开。但是,如果从.content中删除“height:100%”,问题就会消失。

2 个答案:

答案 0 :(得分:4)

它的工作原理是当你删除height:100%时,因为你不需要明确地声明它。你想要的是height:auto; min-height:100%;。这将确保高度至少为100%,但会根据需要填充表格,我认为这是您想要的行为。

Updated jsFiddle

答案 1 :(得分:0)

你只需删除身高:100%;从.content部分添加一个overflow:show;(如果以前没有工作)