我正在开发一个Web应用程序,我希望内容填满整个屏幕的高度。
该页面有一个标题,其中包含一个徽标和帐户信息。这可以是任意高度。我希望内容div将页面的其余部分填充到底部。
我有一个标题div
和一个内容div
。目前我正在使用一个表格进行布局,如下所示:
CSS和超文本标记语言
#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
中的元素也将高度设置为百分比。因此,div
中100%的内容将填充到底部。50%的两个元素也是如此。
更新2:
例如,如果标题占用屏幕高度的20%,那么在#content
中指定为50%的表格将占用40%的屏幕空间。到目前为止,将整个东西包装在表格中是唯一有效的方法。