在固定高度的css表中填充剩余高度

时间:2013-07-03 08:11:34

标签: html css

我试图获得一个布局,其中包含两行的固定高度表,第一个缩放到其内容,第二个是剩余高度,并将其内容保留在其中。底部的高度需要是真实的' (不被父母​​或任何东西修剪),这样它可能有溢出:滚动,或高度为100%的子等。

这应该是这样的:

Image description, yo

我在Chrome中使用,在相对的表格单元格中使用绝对定位的div:

http://jsfiddle.net/9FPqx/

它的核心:

HTML:

<div class="row">
    <div class="cell">
        <div class="absolute-fill">
            Stuff
        </div>
    </div>
</div>

的CSS:

.row
{
    display: table-row;
}

.cell
{
    display: table-cell;
    position: relative;
}

.absolute-fill
{
    position: absolute
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    overflow: hidden;
}

在表格单元格和内容之间使用另一个中间相对div(而不是在表格单元格本身上设置相对值),可以在Firefox中使用

http://jsfiddle.net/sXHry/

无法在IE中运行。我需要IE&gt; = 9。

似乎IE认为绝对孩子的相对元素没有内容高度,所以给它0高度。

我觉得我很近但到目前为止。有没有办法用html和css解决这个问题?我是否使用display:table?或者我应该放弃并只是扔一些javascript吗?

1 个答案:

答案 0 :(得分:2)

为什么需要成为一张桌子?你不能让容器隐藏溢出吗?

HTML

<div class="container">
    <div class="top">
        Top, green area
    </div>
    <div class="bottom">
        Bottom, blue area
    </div>
</div>

CSS

.container {
    width: 250px;
    height: 162px;
    overflow: hidden;
    background: lightblue;
}
.top {
    background: lightgreen;
}

http://jsfiddle.net/sXHry/1/http://jsfiddle.net/sXHry/2/(内容较少)

我怀疑我可能会遗漏某些东西,期待开悟;)