我在设置 tbody 高度宽度溢出滚动时遇到问题。
<style>
tbody{
height:50px;display:block;overflow:scroll
}
</style>
<h3>Table B</h3>
<table style="border: 1px solid red;width:300px;display:block">
<thead>
<tr>
<td>Name</td>
<td>phone</td>
</tr>
</thead>
<tbody style='height:50px;display:block;overflow:scroll'>
<tr>
<td>AAAA</td>
<td>323232</td>
</tr>
<tr>
<td>BBBBB</td>
<td>323232</td>
</tr>
<tr>
<td>CCCCC</td>
<td>3435656</td>
</tr>
</tbody>
</table>
我希望表 B 像表 A 一样带有溢出滚动条。
任何帮助将不胜感激。
非常感谢,M。
原文由 Amit Kumar 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想
tbody
显示滚动条,设置它的display: block;
。为 --- 设置
display: table;
tr
以便它保持表的行为。要均匀分布细胞,请使用
table-layout: fixed;
。演示
CSS:
If
tbody
doesn’t show a scroll, because content is less thanheight
ormax-height
, set the scroll any time with:overflow-y: scroll;
. 演示 2<editS/updateS>
2019 - 04/2021无论如何,要设置滚动条,需要重置显示以摆脱表格布局(永远不会显示滚动条)。
通过
display:grid
/contents
将<table>
转换为网格也会在标题和可滚动部分之间留下空白。 (同上,如果是从 div 构建的)overflow:overlay;
还没有出现在Firefox中 (继续关注)position:sticky
需要一个可以滚动的父容器。确保你的thead
如果你有几行并且rowspan/colspan
标题可以是粘性的(它不适用于 chrome)。到目前为止,还没有完美的解决方案,仅通过 CSS 。有几种平均方式可供选择,因此它适合您自己的表格(表格布局:固定;是..固定表格和列的宽度,但 javascript 可能用于重置这些值 => 退出纯 CSS)