首页 > 其他分享 >怎么让table的thead 不动,tbody出现滚动条呢?

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

时间:2024-11-30 09:34:25浏览次数:6  
标签:表格 tbody 滚动条 table Data thead

要让 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; 对于实现这个效果至关重要。

标签:表格,tbody,滚动条,table,Data,thead
From: https://www.cnblogs.com/ai888/p/18578032

相关文章

  • 用什么代替html5中不再支持table的cellspacing和cellpadding属性?
    在HTML5中,cellspacing和cellpadding属性确实不再被支持。要用CSS来实现相同的效果,主要依靠border-spacing和padding属性。1.cellspacing的替代方案:border-spacingcellspacing控制表格单元格之间的间距。在CSS中,可以使用border-spacing属性应用于<table>元素......
  • table由哪几部分组成?
    在前端开发中,一个HTML<table>元素由以下几个部分组成:<table>元素本身:这是整个表格的容器,所有其他表格元素都包含在其中。<caption>元素(可选):表格的标题,用于描述表格的内容,通常显示在表格的上方。<thead>元素(可选):表格的头部,通常包含表头行。<tr>元......
  • QTableView的在PySide6中的使用
    importsysfromPySide6importQtCore,QtWidgetsfromPySide6.QtCoreimportQAbstractTableModel,QtfromPySide6.QtWidgetsimportQApplication,QMainWindow,QWidgetimportpandasaspdfromui_tableviewimportUi_FormclassDataFrameModel(QAbstractTableMod......
  • CompletableFuture.runAsync使用示例
    CompletableFuture.runAsync()是Java8引入的一个方法,它用于异步执行一个任务,并且该任务没有返回值(即返回void)。该方法会启动一个新的线程来执行给定的任务,而不阻塞主线程或调用线程。作用:异步执行:CompletableFuture.runAsync()会在独立的线程中执行一个Runnable任务,......
  • AI绘画Stable Diffusion教程|SD Comfyui必备教程菜鸟轻松成高手云端部署 第五期如何下
    今天来教大家如何解决解决Comfyui本身的软件问题。大家都知道,‌SDcomfyui‌是一种基于节点的图形用户界面,专为StableDiffusion设计,用于构建和可视化机器学习工作流程,特别是在图像生成领域中非常受欢迎。SDcomfyui通过连接不同的功能节点来创建复杂的图像生成任务,这些节点代表......
  • Stable Diffusion4.9(SD)下载及安装教程
    NO.1软件下载软件名称:StableDiffusion4.9(SD)系统要求:Windows10或更高,64位操作系统下载链接:NO.2软件介绍StableDiffusion**StableDiffusion(简称SD)**是AI绘画领域的一个核心模型,能够进行文生图(txt2img)和图生图(img2img)等图像生成任务。是一款前沿AI绘画工具,用户......
  • vxe-grid table 实现表格中弹窗选择数据
    当需要再表格中的某个字段是关联另外一张表示,需要将从另外表选择数据,并将数据保存在当前行中官网:https://vxetable.cn<template><div><vxe-gridv-bind="gridOptions"><template#action="{row}"><vxe-buttonmode="text"status......
  • 【CSDN首发】Stable Diffusion从零到精通学习路线分享
    文末附学习资料一、了解StableDiffusionStableDiffusion是一种开源的[AI绘画]软件,能够根据文本描述生成详细的图像。它主要用于图像修复、图像绘制、文本到图像和图像到图像等任务。相比其他商业AI绘画软件,StableDiffusion的优势在于开源免费,能够快速迭代和开发,且具有......
  • SD下载安装教程,学习AI绘画软件必看(SD怎么安装,SD安装教程,安装stable diffusion软件必看
    去年,我开始花大量时间研究各种AI产品,仿佛打开了新世界大门。AI不仅帮我大幅提升了工作效率,也为我开拓了新的[副业]。AI到底有多好用?我举个例子,前几天我跟朋友一起做个项目,他费劲巴拉干了2天,结果还不理想。我用ChatGPT不到半个小时就搞定了,差点惊掉了他的下巴,以为我得到了什......
  • Thinkpad X1 Tablet gen2 键盘改USB
    0写在前面前文ThinkpadX1Tabletgen2键盘固件逆向实现Ctrl与Fn换位记录了ThinkpadX1Tabletgen2键盘Fn和Ctrl换位的研究过程,本文记录一下该键盘改USB的过程。因为操作的时候没有留太多照片,所以尽量画图示意。0.1其他网友硬改成果在硬改该键盘之前,在网上发现其他网友扒......