【发布时间】:2016-06-06 14:17:49
【问题描述】:
我有一个包含很多行 (1000+) 的表。结构很简单,这里是一个只有一行的简化示例。
<table>
<thead>
<tr>
<th>column 1</th>
<th>column 2</th>
<th>column 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>value 1</td>
<td>value 2</td>
<td>value 3</td>
</tr>
</tbody>
</table>
我需要固定列名,所以我让 tbody 可滚动。我添加了这些 CSS 规则
tbody {
display: block;
overflow-y: scroll;
overflow-x: none;
max-height: 150px;
}
这是一个完整的JSfiddle example
有两个问题。
<tbody>不会占据所有宽度。我尝试使用width: 100%;,但它不起作用。display: block;似乎阻止了正常的宽度行为,但我需要它来滚动。我怎样才能让它占据所有可用空间?即使只有 1 列获得所有剩余空间也没关系<thead>和<tbody>列宽不同。目前我使用一段 jQuery 代码来像其他行一样设置标题宽度,这很好,但我想知道是否有更好的解决方案。
【问题讨论】:
标签: html css scroll html-table width