使用 position: sticky 可实现表格表头固定,通过设置 top: 0 使表头在滚动时粘滞显示,需避免父容器 overflow: hidden 并采用 border-collapse: separate 以确保正常生效。

在网页中处理长表格时,用户滚动页面过程中表头容易消失,影响数据查看。使用 CSS 的 position: sticky 可以轻松实现表头固定效果,既简单又高效,无需 JavaScript。
sticky 定位是相对定位(relative)和固定定位(fixed)的结合体。元素在正常文档流中显示,直到滚动到某个设定的阈值(如距顶部 0px),就“粘”在指定位置,像 fixed 一样固定住。
要让表格的表头(<thead> 中的内容)在滚动时保持可见,只需对 <th> 或 <tr> 设置 sticky 定位。
以下是实现 sticky 表头的关键代码和注意事项:
立即学习“前端免费学习笔记(深入)”;
<table style="width: 100%; border-collapse: separate;">
<thead>
<tr>
<th style="position: sticky; top: 0; background: white; z-index: 10;">姓名</th>
<th style="position: sticky; top: 0; background: white; z-index: 10;">年龄</th>
<th style="position: sticky; top: 0; background: white; z-index: 10;">城市</th>
</tr>
</thead>
<tbody>
<tr><td>张三</td><td>28</td><td>北京</td></tr>
<tr><td>李四</td><td>32</td><td>上海</td></tr>
<!-- 更多行数据 -->
</tbody>
</table>
说明:添加 background 是为了避免下方内容透过表头;z-index 确保表头在其他内容之上。
基本上就这些。position: sticky 是目前最简洁可靠的表头固定方案,兼容性良好(现代浏览器均支持),适合大多数场景。
以上就是css定位sticky控制表头在表格滚动中固定的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号