我试图获得一个布局,其中包含两行的固定高度表,第一个缩放到其内容,第二个是剩余高度,并将其内容保留在其中。底部的高度需要是真实的' (不被父母或任何东西修剪),这样它可能有溢出:滚动,或高度为100%的子等。
这应该是这样的:
我在Chrome中使用,在相对的表格单元格中使用绝对定位的div:
它的核心:
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中使用:
无法在IE中运行。我需要IE&gt; = 9。
似乎IE认为绝对孩子的相对元素没有内容高度,所以给它0高度。
我觉得我很近但到目前为止。有没有办法用html和css解决这个问题?我是否使用display:table?或者我应该放弃并只是扔一些javascript吗?
答案 0 :(得分:2)
为什么需要成为一张桌子?你不能让容器隐藏溢出吗?
<div class="container">
<div class="top">
Top, green area
</div>
<div class="bottom">
Bottom, blue area
</div>
</div>
.container {
width: 250px;
height: 162px;
overflow: hidden;
background: lightblue;
}
.top {
background: lightgreen;
}
http://jsfiddle.net/sXHry/1/和http://jsfiddle.net/sXHry/2/(内容较少)
我怀疑我可能会遗漏某些东西,期待开悟;)