固定表头可通过CSS实现,推荐使用position: sticky;将thead中的th设置position: sticky并指定top: 0,确保父容器无overflow: hidden,同时采用table-layout: fixed和固定列宽防止错位,适用于现代浏览器,代码简洁且维护成本低。

HTML表格实现固定表头,主要是通过CSS控制表头(thead)始终显示在顶部,即使页面或表格内容发生滚动。常见做法是将表格置于一个固定高度的容器中,并对容器设置滚动条,同时确保thead不随内容滚动。以下是几种实用的CSS实现方案。
将表格包裹在一个固定高度的容器中,设置 overflow-y: auto 实现垂直滚动,再通过将 thead 设置为块级元素并固定其样式来实现表头锁定。
关键点:
display: block 或其父容器控制滚动thead 单独设为 display: block 并添加背景防止内容穿透tbody 也需设为 display: block 才能独立滚动
<div style="height: 200px; overflow-y: auto;">
<table style="width: 100%;">
<thead style="display: block; background: white; position: sticky; top: 0; z-index: 1;">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>城市</th>
</tr>
</thead>
<tbody style="display: block; height: 150px; overflow-y: auto;">
<tr><td>张三</td><td>25</td><td>北京</td></tr>
<tr><td>李四</td><td>30</td><td>上海</td></tr>
<!-- 更多行 -->
</tbody>
</table>
</div>
现代浏览器广泛支持 position: sticky,只需给 thead > tr > th 添加该属性,即可实现表头吸附在顶部。
优点:代码简洁,无需拆分滚动区域。
Mureka
Mureka是昆仑万维最新推出的一款AI音乐创作工具,输入歌词即可生成完整专属歌曲。
1091
查看详情
<table style="width: 100%;">
<thead>
<tr>
<th style="position: sticky; top: 0; background: #f0f0f0; z-index: 2;">姓名</th>
<th style="position: sticky; top: 0; background: #f0f0f0; z-index: 2;">年龄</th>
<th style="position: sticky; top: 0; background: #f0f0f0; z-index: 2;">城市</th>
</tr>
</thead>
<tbody>
<tr><td>张三</
td><td>25</td><td>北京</td></tr>
<tr><td>李四</td><td>30</td><td>上海</td></tr>
<!-- 多行数据 -->
</tbody>
</table>
注意:top: 0 表示距离容器顶部0时开始固定;父容器不能有 overflow: hidden 阻止sticky生效。
使用上述方法时,若thead和tbody分开滚动,容易出现列不对齐问题。解决方式:
width: 100px)table-layout: fixed 强制表格按设定宽度分配示例:
table {
table-layout: fixed;
width: 100%;
}
th, td {
width: 33.3%;
text-align: left;
}
基本上就这些。对于大多数场景,position: sticky 是最简单高效的方案,兼容性良好且维护成本低。如果需要支持老旧浏览器,可结合容器滚动+块级分割的方式实现。关键是控制好列宽与背景遮挡,避免视觉错位。
以上就是HTML表格怎么设置固定表头_HTML表格固定表头的CSS实现方案的详细内容,更多请关注其它相关文章!
相关文章:
QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问
sublime侧边栏怎么增强功能_SideBarEnhancements for sublime安装与配置
C#如何安全地从用户上传的XML文件中读取数据? 验证与清理策略
J*aScript实现动态背景色下的文本与按钮颜色自适应调整
html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】
蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源
J*aScript对象创建方式_J*aScript设计模式应用
将PCM16音频数据转换为W*并编码为Base64教程
网易大神账号申诉需要多久_网易大神账号申诉流程说明
抖音极速版最新版本 抖音极速版官方下载地址
Win11怎么查看电脑配置_Win11硬件配置检测工具使用
苹果手机如何防止被恶意App追踪
mysql密码锁定怎么解锁_mysql密码锁定解锁后修改密码步骤
J*aScript DOM操作:高效清空列表元素的策略与实践
护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?
QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台
处理Kafka消息时会话超时与实现幂等性消费者
J*aScript数组对象转换:按指定键分组与值收集
Win10文件资源管理器“此电脑”分组怎么关 Win10恢复经典视图【技巧】
ArrayList与LinkedList核心操作的Big-O复杂度分析
CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示
俄罗斯浏览器官网直达链接 俄罗斯浏览器最新在线入口导航
邮政编码查询不到怎么办_邮政编码查询不到的常见原因与对策
58动漫网在线官方网 58动漫网正版动漫入口网址
excel如何生成目录 excel一键生成工作表目录超链接
谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
飞书妙记怎样用语音转文字速记_飞书妙记用语音转文字速记【速记方法】
晋江读书网页版在线登录 晋江读书电脑版官网
PyTorch模型训练效果不佳?深入剖析常见错误与调试技巧
漫蛙2在线漫画入口 漫蛙正版漫画网页版直达
Django通过AJAX异步上传图片并保存至模型的完整指南
J*a TimerTask中HashMap意外清空的深层原因与解决方案
如何在PHP中实现基于MySQL的动态分页查询
win11开机启动修复循环怎么办 Win11无法进入系统高级启动解决方法【修复】
机构:以往存储涨价周期小米利润率实际上有所改善 能转嫁给消费者等
解决Python logging 中 datefmt 导致时间戳固定不变的问题
解决PHP会话Cookie在跨域请求中不保留的问题
百度网盘网页版入口 百度网盘网页版官方登录网址
Go语言JSON解析深度指南:动态访问与结构体映射实践
Golang如何通过reflect操作map_Golang reflect map操作与遍历技巧
企业名称高精度匹配:N-gram方法在结构相似性分析中的应用
Odoo 16:在表单视图中基于当前记录动态修改Tree视图属性
React列表渲染与独立状态管理:避免全局状态影响局部更新
AI泡沫首次被“刺破”:GPU十年都无法存活!
AO3官方镜像站点汇总 AO3同人作品网页版直达链接
在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析
美团外卖商家服务中心入口 美团商家版官网入口
小米汽车11月交付量突破40000台!雷军:将继续努力
126邮箱网页版官方入口 126邮箱账号在线登录平台