table表头固定,内容滚动

2023-10-26

最近接到一个需求,要thead表头固定,tbody内容实现滚动。在这里插入图片描述
简单,给tbody加高度就行了。
在这里插入图片描述
什么?!竟然不行失败了!!
既然无法限制tbody本身的高度,那就给它套一个div,限制div的高度,让tbody在div里面滚就好了。
但是!!table里面,不能在tbody外面套div!浏览器无法解析!会变成这样:
在这里插入图片描述
哎呀,这也不行那也不行,到底要怎么搞?
找了别人的代码,好家伙!可以用两个table来实现这个功能。
第一个table管理thead,第二个table管理tbody,再用div去包裹第二个table,限制div的高度就行了!

<style>
    th {
        background-color: rgba(0, 0, 0, .2);
        height: 32px;
        line-height: 32px;
        width: 60px;
    }

    td {
        border-right: 1px solid #eee;
        height: 48px;
        line-height: 48px;
        width: 60px;
    }
</style>

<body>
    <table>
        <thead>
        	<tr>
            	<th>表头1</th>
            	<th>表头2</th>
	            <th>表头3</th>
            </tr>
        </thead>
    </table>
    <div style="height:200px;overflow: auto;">
        <table>
            <tbody>
                <tr>
                    <td>行1</td>
                    <td>行1</td>
                    <td>行1</td>
                </tr>
                <tr>
                    <td>行2</td>
                    <td>行2</td>
                    <td>行2</td>
                </tr>
                <tr>
                    <td>行3</td>
                    <td>行3</td>
                    <td>行3</td>
                </tr>
                <tr>
                    <td>行4</td>
                    <td>行4</td>
                    <td>行4</td>
                </tr>
                <tr>
                    <td>行5</td>
                    <td>行5</td>
                    <td>行5</td>
                </tr>
                <tr>
                    <td>行6</td>
                    <td>行6</td>
                    <td>行6</td>
                </tr>
                <tr>
                    <td>行7</td>
                    <td>行7</td>
                    <td>行7</td>
                </tr>
                <tr>
                    <td>行8</td>
                    <td>行8</td>
                    <td>行8</td>
                </tr>
                <tr>
                    <td>行9</td>
                    <td>行9</td>
                    <td>行9</td>
                </tr>
                <tr>
                    <td>行10</td>
                    <td>行10</td>
                    <td>行10</td>
                </tr>
                <tr>
                    <td>行11</td>
                    <td>行11</td>
                    <td>行12</td>
                </tr>
                <tr>
                    <td>行12</td>
                    <td>行12</td>
                    <td>行12</td>
                </tr>
                <tr>
                    <td>行13</td>
                    <td>行13</td>
                    <td>行13</td>
                </tr>
                <tr>
                    <td>行14</td>
                    <td>行14</td>
                    <td>行14</td>
                </tr>
                <tr>
                    <td>行15</td>
                    <td>行15</td>
                    <td>行15</td>
                </tr>
                <tr>
                    <td>行16</td>
                    <td>行16</td>
                    <td>行16</td>
                </tr>
                <tr>
                    <td>行17</td>
                    <td>行17</td>
                    <td>行17</td>
                </tr>
                <tr>
                    <td>行18</td>
                    <td>行18</td>
                    <td>行18</td>
                </tr>
                <tr>
                    <td>行19</td>
                    <td>行19</td>
                    <td>行19</td>
                </tr>
                <tr>
                    <td>行20</td>
                    <td>行20</td>
                    <td>行20</td>
                </tr>
            </tbody>
        </table>
    </div>
</body>

来看看效果:
在这里插入图片描述
成功啦!
但是这滚动条也太丑了吧!
div没有设置宽度,默认铺满,给div限制宽度,滚动条就不会离表格这么远了。
再使用colgroup来布局。这样就不需要单独设置td的宽度了。
在这里插入图片描述
再调整一下滚动条的样式,美化一下

::-webkit-scrollbar-thumb {
   	background: rgba(0, 0, 0, 0.2);
	border-radius: 4px;
}
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
	background-color: transparent;
	border-radius: 3px;
}
<style>
    div {
        width: 100%;
    }
    table {
        width: 100%;
    }
    th {
        background-color: rgba(0, 0, 0, .2);
        height: 32px;
        line-height: 32px;
        border-right: 1px solid #eee;
    }

    td {
        border-right: 1px solid #eee;
        height: 48px;
        line-height: 48px;
    }
    ::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.2);
        border-radius: 4px;
    }
    ::-webkit-scrollbar {
        width: 6px;
        height: 6px;
        background-color: transparent;
        border-radius: 3px;
    }
</style>

<body>
    <table>
        <colgroup>
            <col>
            <col width="40%">
            <col width="40%">
        </colgroup>
        <thead>
            <tr>
                <th>表头1</th>
                <th>表头2</th>
                <th>表头3</th>
                <th class="gutter" style="width: 2px;"></th>
            </tr>
        </thead>
    </table>
    <div style="height:200px;overflow: auto;">
        <table>
            <colgroup>
                <col>
                <col width="40%">
                <col width="40%">
            </colgroup>
            <tbody>
                <tr>
                    <td>行1</td>
                    <td>行1</td>
                    <td>行1</td>
                </tr>
                <tr>
                    <td>行2</td>
                    <td>行2</td>
                    <td>行2</td>
                </tr>
                <tr>
                    <td>行3</td>
                    <td>行3</td>
                    <td>行3</td>
                </tr>
                <tr>
                    <td>行4</td>
                    <td>行4</td>
                    <td>行4</td>
                </tr>
                <tr>
                    <td>行5</td>
                    <td>行5</td>
                    <td>行5</td>
                </tr>
                <tr>
                    <td>行6</td>
                    <td>行6</td>
                    <td>行6</td>
                </tr>
                <tr>
                    <td>行7</td>
                    <td>行7</td>
                    <td>行7</td>
                </tr>
                <tr>
                    <td>行8</td>
                    <td>行8</td>
                    <td>行8</td>
                </tr>
                <tr>
                    <td>行9</td>
                    <td>行9</td>
                    <td>行9</td>
                </tr>
                <tr>
                    <td>行10</td>
                    <td>行10</td>
                    <td>行10</td>
                </tr>
                <tr>
                    <td>行11</td>
                    <td>行11</td>
                    <td>行12</td>
                </tr>
                <tr>
                    <td>行12</td>
                    <td>行12</td>
                    <td>行12</td>
                </tr>
                <tr>
                    <td>行13</td>
                    <td>行13</td>
                    <td>行13</td>
                </tr>
                <tr>
                    <td>行14</td>
                    <td>行14</td>
                    <td>行14</td>
                </tr>
                <tr>
                    <td>行15</td>
                    <td>行15</td>
                    <td>行15</td>
                </tr>
                <tr>
                    <td>行16</td>
                    <td>行16</td>
                    <td>行16</td>
                </tr>
                <tr>
                    <td>行17</td>
                    <td>行17</td>
                    <td>行17</td>
                </tr>
                <tr>
                    <td>行18</td>
                    <td>行18</td>
                    <td>行18</td>
                </tr>
                <tr>
                    <td>行19</td>
                    <td>行19</td>
                    <td>行19</td>
                </tr>
                <tr>
                    <td>行20</td>
                    <td>行20</td>
                    <td>行20</td>
                </tr>
            </tbody>
        </table>
    </div>
</body>

效果
在这里插入图片描述
如果还有样式不太合适,就自己调一下吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

table表头固定,内容滚动 的相关文章

  • grid-auto-columns 在 Firefox 中不能完全工作

    我不明白为什么 DIV 3 的大小与 DIV 1 DIV 2 的大小不同 https codepen io anon pen vaVqPW https codepen io anon pen vaVqPW grid display grid
  • 使用 pkg:sjPlot 函数创建一个生成部分斜体单元格的数据框

    我正在尝试创建一个简单的数据表 其中 Coral taxon 列中的属名称为斜体 而 spp 列中的属名称为斜体 属名后面的部分不大写 我尝试使用 expression 函数对 Coral taxon 的每一行进行编码 但没有成功 sum
  • 如何防止 CFDocument 中的内容中间发生分页?

    我使用 cfdocument 标签从 html css 动态生成 PDF 文件 有些内容块我不想跨越多个页面 经过一番搜索后 我发现根据文档支持 page break inside 样式 然而 在我的测试中 声明 page break in
  • 滚动时输入自动完成位置错误(chrome)

    我在输入文本的默认自动完成功能方面遇到了一些麻烦 滚动时它不会相应移动 我希望自动完成文本保留在输入的正下方 有办法做到这一点吗 我在 Chrome 浏览器版本 57 0 2987 133 中发生这种情况 fiddle https jsfi
  • 有没有办法禁用网站上表单的自动填写? [复制]

    这个问题在这里已经有答案了 我最近才学会使用创建网站HTML and PHP 我创建了一个网站 其中有一个测验 要求人们随机翻译单词 用户将他们的答案输入到表格中 网站评估答案是否正确 现在 当一个问题在一个会话中被问两次时 就会出现自动填
  • CSS3DObject 始终位于 WebGL Mesh 前面

    我正在混合CSS3D Renderer with WebGL Renderer to add HTML3D 空间中的元素WebGL场景 这CSS3DObject在前面WebGL网格即使WebGL Renderer具有较高的 z index
  • 创建一个简单的 10 秒倒计时

    我想要一行这样写的 Your download will begin in 10 9 8 etc Beginning on page load seconds 我已经设置了 10 秒下载文本 并且我还查看了其他 stackoverflow
  • html 表格单元格的条件格式

    是否有现成的解决方案可以对 HTML 表格进行条件格式设置 通过条件格式 我更感兴趣的是根据该列或其他列 在同一个表中 的值 数字 将不同的颜色作为单元格背景 类似于我们在 Excel 条件格式 gt 色阶 gt 红黄绿中的内容 我想在通过
  • 样式标签中的源映射是否有效?

    我在标签和源映射中遇到 CSS 问题 为了缩短项目的加载时间 我改变了将 CSS 放入 HTML 的方式 将其改为 h1 Source maps working wonderfully h1 进入这个
  • Firefox Placeholder Before CSS 选择器不起作用

    我使用的是最新的firefox 30 0 我正在尝试在必填字段的占位符之前插入红色字体真棒星号 我在 Chrome 中工作没问题 但我在 FF 和 上遇到问题 这是一个说明我的问题的代码笔 http codepen io anon pen
  • 有没有办法将变量从 javascript 导入到 sass 或反之亦然?

    我正在制作一个依赖于块概念的 CSS 网格系统 所以我有一个基本文件 例如 max columns 4 block width 220px block height 150px block margin 10px 它被 mixin 使用 m
  • html css 下拉菜单

    这是我第一次在 Stack Overflow 上发帖 我不熟悉论坛发帖规定 所以请让我知道我做错了什么 我在论坛中研究过这个问题 但我所遇到的一切都没有给我明确的答案 我试图从 新闻 元素创建一个下拉菜单 但在运行代码时我从未得到任何可见的
  • Django - 提交具有同一字段多个输入的表单

    预警 我对 Django 以及一般的 Web 开发 非常陌生 我使用 Django 托管一个基于 Web 的 UI 该 UI 将从简短的调查中获取用户输入 通过我用 Python 开发的一些分析来提供输入 然后在 UI 中呈现这些分析的可视
  • 引导行之间的垂直间距

    所以我正在研究布局 为了 响应能力 我决定使用 Bootstrap 现在我猜网格系统有问题 我想要的结果如下 1 4 2
  • 计算文本选择的 xy 位置

    我正在尝试使用 DOM 元素创建自己的文本选择 是的 我的意思是当您在此元素中选择文本时 您会在文本后面看到蓝色背景 这个想法是停止默认行为 蓝色 并使用我自己的元素来完成工作 方法是找到选择的 xy 位置 然后放置绝对定位的元素 我希望能
  • 将 CSS 生成的三角形拆分为 2 个水平不同的相同颜色

    正如您应该能够通过此代码看到的那样fiddle http jsfiddle net Xh36r 1 以及下面 我希望能够分割显示在第二个 div 顶部的 CSS 生成的三角形水平均等在 之间orange and green使用的颜色 现在它
  • HTML 元素的默认背景颜色是什么?白色还是透明?

    我只是被一个简单的问题困住了 想弄清楚 HTML 元素的默认背景颜色是什么 是白色的还是透明的 默认背景颜色是透明的 看这里 https developer mozilla org en docs Web CSS background co
  • 元素和 svg 形状之间的白线

    大家好 我正在使用由 shapedivider 生成的 svg 整形器 您可以看到 有一条白线 我不知道为什么它在那里以及如何删除它 请你帮助我好吗 有形状分隔符的代码 custom shape divider bottom 1640714
  • 如何在表格列标题处垂直旋转文本

    我用过这个数据表 http www datatables net 在我的网页上 这是fiddle http jsfiddle net fxju7 2 链接我放置代码的地方 我想要 第一个数字第二个数字列应该垂直旋转 我已经做到了 但是 问题
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i

随机推荐

  • 虚拟地址空间和物理地址空间

    1 概念 物理地址 物理地址空间是实在的存在于计算机中的一个实体 在每一台计算机中保持唯一独立性 我们可以称它为物理内存 如在32位的机器上 物理空间的大小理论上可以达到2 32字节 4GB 但如果实际装了512的内存 那么其物理地址真正的
  • 如何让一句话木马绕过waf的检测 ?

    一 什么是一句话木马 一句话木马就是只需要一行代码的木马 短短一行代码 就能做到和大马相当的功能 为了绕过waf的检测 一句话木马出现了无数中变形 但本质是不变的 木马的函数执行了我们发送的命令 二 我们如何发送命令 发送的命令如何执行 我
  • 爬虫逆向实战(33)-某联社数据(webpack)

    一 数据接口分析 主页地址 某联社 1 抓包 通过抓包可以发现数据接口是 nodeapi telegraphList 2 判断是否有加密参数 请求参数是否加密 通过查看 载荷 模块可以发现有一个sign加密参数 请求头是否加密 无 响应是否
  • CSS盒子模型

    CSS盒子模型 课程目标 1 常用样式 2 盒子模型 3 CSS3常见效果 盒子模型介绍 引用百度百科 层叠样式表其实就是对静态页面进行装饰 但是 特别要注意的点是 通常建议表现形式与页面内容分离 例如 人就是内容 穿着打扮就是表现形式 常
  • 使用MQTT客户端连接阿里云MQTT服务器

    本文是转载的 原文请戳这里查看 摘要 物联网全栈教程 从云端到设备 八 一 这一篇文章零妖老哥将给你展示两个电脑软件的使用方法 将极大地方便你调试与MQTT有关的物联网项目 一个叫MQTT客户端用来模拟设备向云端发送数据和接收云端的数据 另
  • linux常用命令

    Linux目录结构简介 目录结构 说明 bin 是Binary的缩写 这个目录存放着最经常使用的命令 sbin s就是Super User的意思 这里存的系统管理员使用的系统管理程序 home 存放普通用户的主目录 在Linux中每个用户都
  • 使用Symchk来离线需要的Symbol文件

    我们在工作中会经常遇到离线环境 这时候就需要准备好离线符号 我们使用安装windbg时候自带的工具SymChk exe 微软的官方说明在下面 使用起来也很简单 下面是一个使用示例 使用 SymChk exe 实用程序下载 Windows S
  • python怎么打开npz文件_numpy的文件存储.npy .npz 文件详解

    Numpy能够读写磁盘上的文本数据或二进制数据 将数组以二进制格式保存到磁盘 np load和np save是读写磁盘数组数据的两个主要函数 默认情况下 数组是以未压缩的原始二进制格式保存在扩展名为 npy的文件中 import numpy
  • matlab_线性规划

    求解线性规划问题 min z f x s t Ax b Aeqx beq lb x ub 其中 f x b beq lb ub为向量 A Aeq为矩阵 linprog函数 x fval exitflag output lambda linp
  • linux解压rar包的命令

    压缩文件 rar a r test rar file 解压文件 unrar x test rar
  • QT信号槽connect的第五个参数

    用过QT的小伙伴都知道连接信号槽的connect方法 但是这个方法有第五个参数 一般都是用的默认的 1 connect th SIGNAL started tmpmyobject SLOT showID 今天给大家讲讲第五个参数的用法 一
  • Python 爬虫运行时如何忽略错误,并继续运行

    我在第一次写Python爬虫的时候 没过多久Python就会报错 然后停止采集 总是没办法从头到尾把数据采集下来 每一下次报错我都要去找原因 随着一次又一次的报错问题越来越少 比如我要采集的标签里面没有URL URL为空就会报错 或者页面没
  • 03虚幻4【UE4】蓝图通信

    UE蓝图通信 目录 UE蓝图通信 情景一 方法一 直接拾取 简单粗暴 局限性一对一 方法二 获取类的actor 调用 自定义函数 变量 1 获取类的actor 调用 自定义函数 2 获取类的actor 调用 变量 方法三 蓝图接口 情景二
  • 预训练语言模型

    模型参数不再是随机初始化的 而是通过一些任务进行预先训练 得到一套模型参数 然后用这套参数对模型进行初始化 再进行训练 从模型的角度 模型参数不再是随机初始化 而是通过一些任务 如语言模型 进行预训练 从数据的角度 将训练任务拆解成共性学习
  • Go_Goroutine和channel的使用、定时器、runtime、select、条件变量

    程序 程序是指编译好的二进制文件 存放在磁盘上不占用系统资源 cpu 内存 当程序在计算机上运行时 它就变成了一个进程 包括程序 数据和状态信息 程序是静态的 而进程是动态的 进程 进程是程序的实例 是资源分配的最小单位 当一个程序开始运行
  • 【QT】 QT 自己定义全局变量,编译时报错:undefined reference to

    编译时的报错截图 但是变量在头文件内定义过 原因 静态变量需要在cpp文件中先进行赋值 解决方式 在cpp文件中给定义的全局变量赋予一个初始值
  • 计算机系统文件格式,iso是什么文件格式,怎么使用呢?

    经常安装系统的朋友应该很清楚iso是什么文件格式 iso是一种光盘的镜像文件 无法直接使用 需要利用工具才能解压使用 那么下面小编给您详细介绍下iso镜像文件以及使用用途 有需要的朋友可以看下 使用过光盘安装系统的朋友应该知道ISO文件是如
  • linux操作系统管理-主机重启不能能启动分析(nfs)

    问题概述 2个节点rac集群 节点1 采用nfs方式共享 backup 目录 节点2进行mount 2个节点分别重启 发现节点1能够起来 节点2不能启动 通过分析发现 节点1 nfs服务未启动 导致节点2不能启动 将节点1 的nfs服务启动
  • 华为OD机试 - 高效的任务规划(Java)

    题目描述 你有 n 台机器 编号为 1 n 每台都需要完成一项工作 机器经过配置后都能独立完成一项工作 假设第 i 台机器你需要花 Bi 分钟进行设置 然后开始运行 Ji 分钟后完成任务 现在 你需要选择布置工作的顺序 使得用最短的时间完成
  • table表头固定,内容滚动

    最近接到一个需求 要thead表头固定 tbody内容实现滚动 简单 给tbody加高度就行了 什么 竟然不行失败了 既然无法限制tbody本身的高度 那就给它套一个div 限制div的高度 让tbody在div里面滚就好了 但是 tabl