最初の行はコンテンツに合わせてスケーリングし、2 つ目は残りの高さで、コンテンツをその中に保持します。下部の高さは、オーバーフロー: スクロール、または高さの子: 100% などを持つことができるように、「実際の」(親などによってクリップされない) 必要があります。
これは次のようになります。
相対テーブルセル内に絶対配置された div を使用して、 Chrome で動作させました。
その核心:
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 >= 9 が必要です。
IE は、絶対的な子を持つ相対要素にはコンテンツの高さがないと考えているため、高さが 0 になっているようです。
私はとても近くにいるように感じますが、これまでのところ. これをhtmlとcssだけで解決する方法はありますか?display: table を使用して間違った方向に進んでいますか? それともあきらめて、javascriptを投げるべきですか?