我正在一个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>
页面的整个高度已填满,不需要滚动。
对于content div中的任何内容,设置top: 0;
将其放在标题的正下方。有时,内容将是一个实际表,其高度设置为100%。把header
里面content
不会让这种工作。
是否有一种无需使用即可达到相同效果的方法table
?
更新:
Elements inside the content div
will have heights set to percentages as well. So something at 100% inside the div
will fill it to the bottom. As will two elements at 50%.
Update 2:
For instance, if the header takes up 20% of the screen's height, a table specified at 50% inside #content
would take up 40% of the screen space. So far, wrapping the entire thing in a table is the only thing that works.
通过Bootstrap:
CSS样式:
1)仅填充剩余屏幕空间的高度:
2)填充剩余屏幕空间的高度并将内容与父元素的中间对齐: