带浮动的元素的动态100%高度

时间:2013-07-20 11:37:24

标签: css

过去一小时这让我烦恼,无法弄清楚。这是一个测试用例,可以更好地理解方案http://jsfiddle.net/slash197/RvTe7/1/

CSS

html, body {
    height: 100%;
    margin: 0px; 
    padding: 0px;
}
.header {
    height: 10%;
    background-color: red;
}
.content {
    height: 90%
}
    #side-bar {
        height: 100%;
        width: 30%;
        float: left;
        background-color: blue;
    }
    #content-zone {
        height: 100%;
        width: 70%;
        float: left;
        background-color: yellow;
    }

.clearfix:before, .clearfix:after {
    content: "";
    display: table;
    line-height: 0;
}
.clearfix:after {
    clear: both;
}

HTML

<div class="header">
    <h1>test case</h1>
</div>
<div class="content clearfix">
    <div id="side-bar">menu</div>
    <div id="content-zone">page content <button>add more</button></div>
</div>

我可以将两个浮动元素的初始高度设置为100%。问题是新内容将动态添加,浮动容器不会像我期望的那样扩展。

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

试试这个

添加以下课程#content-zone{ overflow-y:Scroll; }

http://jsfiddle.net/RvTe7/2/

答案 1 :(得分:1)

您可以将height更改为min-height

#content-zone {
    min-height: 100%;
    width: 70%;
    float: left;
    background-color: yellow;
}

答案 2 :(得分:1)

如果对你来说只有黄色框增长就足够了,所以你可以这样做:

#content-zone {
        min-height: 100%;
        height: auto;
        width: 70%;
        float: left;
        background-color: yellow;
    }

JSFiddle:http://jsfiddle.net/RvTe7/3/