コンテンツを画面全体の高さいっぱいにしたいWebアプリケーションに取り組んでいます。
このページには、ロゴを含むヘッダーとアカウント情報があります。これは任意の高さになる可能性があります。content divでページの残りの部分を一番下まで埋めてほしい。
ヘッダーdivとコンテンツがありdivます。現時点では、次のようなレイアウトにテーブルを使用しています。
CSSとHTML
#page {
    height: 100%; width: 100%
}
#tdcontent {
    height: 100%;
}
#content {
    overflow: auto; /* or overflow: hidden; */
}<table id="page">
    <tr>
        <td id="tdheader">
            <div id="header">...</div>
        </td>
    </tr>
    <tr>
        <td id="tdcontent">
            <div id="content">...</div>
        </td>
    </tr>
</table>ページの高さ全体が埋められ、スクロールは必要ありません。
content divの内部では、設定top: 0;によりヘッダーのすぐ下に配置されます。コンテンツは、高さが100%に設定された実際のテーブルになる場合があります。header内部contentに置くと、これは機能しません。
を使用せずに同じ効果を達成する方法はありtableますか?
更新:
コンテンツ内の要素のdiv高さもパーセントに設定されます。したがって、内部に100%の何かがあると、divそれが底まで満たされます。2つの要素が50%になります。
アップデート2:
たとえば、ヘッダーが画面の高さの20%を占める場合、内部で50%に指定されたテーブル#contentは画面スペースの40%を占めます。これまでのところ、機能するのはテーブル全体をラップすることだけです。



display:tableと関連するプロパティを使用して、テーブルマークアップなしで、ほとんどのブラウザで目的のテーブルレイアウトを取得できます。非常に類似した質問に対するこの回答を参照してください。