コンテンツを画面全体の高さいっぱいに表示したいWebアプリケーションに取り組んでいます。
このページには、ロゴとアカウント情報を含むヘッダーがあります。これは任意の高さである可能性があります。コンテンツ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>
ページの高さ全体が埋められ、スクロールする必要はありません。
コンテンツdiv内のすべてについて、設定top: 0;
するとヘッダーのすぐ下に配置されます。コンテンツは、高さが100%に設定された実際のテーブルになる場合があります。header
中に入れるcontent
と、これは機能しません。
を使用せずに同じ効果を達成する方法はありtable
ますか?
アップデート:
コンテンツ内の要素のdiv
高さもパーセンテージに設定されます。したがって、100%内側の何かdiv
がそれを底まで埋めます。50%の2つの要素もそうです。
アップデート2:
たとえば、ヘッダーが画面の高さの20%を占める場合、内部の50%で指定されたテーブル#content
は、画面スペースの40%を占めます。これまでのところ、機能するのはテーブル全体をラップすることだけです。