我有这样的页面布局:
<div class="LayoutTable">
<div class="LayoutTableRow Header">
<div class="LayoutTableCell Header">
<h1 class="InterfaceName">Item</h1>
</div>
</div>
<div class="LayoutTableRow Main">
<div class="LayoutTableCell">
<div class="GridTableWrapper">
<!-- A large inner table goes here -->
</div><!-- GridTableWrapper -->
</div><!-- LayoutTableCell-->
</div><!-- LayoutTableRow-->
<div class="LayoutTableRow Footer">
<div class="LayoutTableCell Footer">
</div>
</div>
</div>
页眉和页脚行的固定高度为 49 像素,中间部分 display:table-cell 填充剩余空间。这部分工作正常,直到您在布局“表”div 中添加数据表。
应该发生的是,无论布局表的单元格有多大,都应该保持该大小,并且数据表太大,应该有滚动条以在布局表的单元格内滚动它。
相反,无论我尝试什么,浏览器都会坚持炸毁布局表,以便整个数据表可以放入单元格中。结果是将滚动条应用于整个页面,而不是应用于包含表格的单元格。
我可以通过以像素为单位指定宽度来实现这一点,但目标是使用流畅的布局来做到这一点。
如何使单元格滚动,因此页脚和页眉始终可见,左右滚动也在布局单元格级别而不是页面级别?
我在这里创建了一个问题的小提琴:http: //jsfiddle.net/hhUnH/2/