0

我有一个我正在开发的网站的页面布局,如下所示:

-------------------------------------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%',问题就会消失。

4

2 回答 2

4

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

更新了 jsFiddle

于 2013-10-22T16:49:13.847 回答
0

你只需删除 height:100%; 从 .content 部分并添加一个溢出:显示;(如果前一个不起作用)

于 2013-10-22T16:54:24.457 回答