怎么让table的thead 不动,tbody出现滚动条呢?

要让 table 的 thead 固定不动,tbody 出现滚动条,你需要使用 CSS 来控制表格的布局和样式。以下是一种常见且有效的方法:

<!DOCTYPE html>
<html>
<head>
<style>
table {
  width: 100%;
  table-layout: fixed; /* 重要:固定表格布局 */
  border-collapse: collapse; /* 可选:合并表格边框 */
}

thead th {
  position: sticky; /* 使 thead 固定 */
  top: 0; /* 固定在顶部 */
  background-color: #f0f0f0; /* 可选:设置背景颜色 */
}

tbody {
  display: block; /* 重要:使 tbody 成为块级元素 */
  max-height: 200px; /* 设置 tbody 的最大高度 */
  overflow-y: auto; /* 出现垂直滚动条 */
}

tr {
  border-bottom: 1px solid #ddd; /* 可选:设置行边框 */
}

th, td {
  padding: 8px;
  text-align: left; /* 可选:设置文本对齐方式 */
}
</style>
</head>
<body>

<table>
  <thead>
    <tr>
      <th>Header 1</th>
      <th>Header 2</th>
      <th>Header 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Data 1</td>
      <td>Data 2</td>
      <td>Data 3</td>
    </tr>
    <tr>
      <td>Data 1</td>
      <td>Data 2</td>
      <td>Data 3</td>
    </tr>
    <!-- ... more rows ... -->
    <tr>
      <td>Data 1</td>
      <td>Data 2</td>
      <td>Data 3</td>
    </tr>
     <tr>
      <td>Data 1</td>
      <td>Data 2</td>
      <td>Data 3</td>
    </tr>
     <tr>
      <td>Data 1</td>
      <td>Data 2</td>
      <td>Data 3</td>
    </tr>
     <tr>
      <td>Data 1</td>
      <td>Data 2</td>
      <td>Data 3</td>
    </tr>
     <tr>
      <td>Data 1</td>
      <td>Data 2</td>
      <td>Data 3</td>
    </tr>
  </tbody>
</table>

</body>
</html>

关键 CSS 属性解释:

  • table-layout: fixed;: 这是非常重要的,它让表格的宽度固定,并且根据表格宽度和列宽度来分配单元格宽度,而不是根据单元格内容。这可以防止内容过长导致表格变形,并且使滚动条正常工作。

  • thead th { position: sticky; top: 0; }: 这会使 theadth 元素固定在顶部。sticky 定位结合 top: 0 会让表头在滚动到顶部时固定。

  • tbody { display: block; max-height: 200px; overflow-y: auto; }: 这会使 tbody 成为块级元素,并设置最大高度,超出高度的部分会出现垂直滚动条。

其他说明:

  • max-height 的值可以根据需要调整。
  • 可以根据需要添加其他样式,例如边框、背景颜色等。
  • 这种方法兼容性较好,适用于大多数现代浏览器。

这个例子提供了一个基本的框架,你可以根据自己的需求进行修改和调整。 记住,table-layout: fixed;display: block; 对于实现这个效果至关重要。

posted @   王铁柱6  阅读(426)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示