我有一个复杂的 HTML 应用程序,所以很遗憾不能真正提供代码示例。我们试图让 div(以红色突出显示)来填充剩余的垂直空间(见图)。
该应用程序包含一个标题(黑色),左侧的侧边栏可以关闭或调整大小(注意:水平组件调整大小正确)。侧边栏的右侧是另一个 div (mainDiv)。mainDiv 在顶部包含一个用于控件的 div,在其下方包含一个用于数据表的 div(以红色突出显示)。
此表可能包含大量数据,因此如果数据不适合屏幕,它需要自己的滚动条。
我们只想让表格填满所有可用的水平和垂直空间。我们似乎无法让它发挥作用。
我们创建了一个 jsfiddle 示例来尽可能地展示我们的布局。这可以在这里看到。我们只希望这个 div(在 jsfiddle 中 div 称为“tablewrap”)占用所有剩余空间。
代码(来自 jsfiddle)如下:
html
<div class="header">Header</div>
<div class="sidebar">This is the sidebar</div>
<div class="tablewrapper">
<div class="tableheader-controls-etc"></div>
<div class="tablewrap">table</div>
</div>
css
.header { height: 50px; background:black; color:white; }
.sidebar { height:100%; position:fixed; width 200px; background:gray; color:white; }
.tablewrapper{ float:right; width:75%; border:1px solid; margin-top:30px; margin-right:30px;}
.tableheader-controls-etc { height:150px; background:blue; color:white; }
.tablewrap { height: 200px; border: 2px solid red; width:100%; overflow:auto;}
如果有人能提供一个很棒的解决方案。我们更喜欢 CSS,但可以处理 Javascript。
谢谢,菲尔