0

0

使用 CSS Grid 实现 tbody 自适应剩余高度的表格布局

聖光之護

聖光之護

发布时间:2026-02-15 10:21:31

|

342人浏览过

|

来源于php中文网

原创

使用 CSS Grid 实现 tbody 自适应剩余高度的表格布局

本文介绍如何通过将 元素设为 CSS Grid 容器,并利用 grid-template-rows: auto 1fr,让 自动占据父容器中扣除 (及其它表头相关高度)后的全部剩余空间,无需手动计算像素值或依赖 JavaScript。

本文介绍如何通过将 `

` 元素设为 css grid 容器,并利用 `grid-template-rows: auto 1fr`,让 `` 自动占据父容器中扣除 ``(及其它表头相关高度)后的全部剩余空间,无需手动计算像素值或依赖 javascript。

在构建数据密集型表格(如员工信息列表)时,常需固定表头、滚动表格主体,同时确保

高度能自适应视口或容器剩余空间。传统做法往往借助 JavaScript 动态计算 header + padding + border 等高度后赋值给 tbody,不仅冗余,还易受样式变更影响,维护成本高。

现代、简洁且可靠的解法是:将

元素声明为 CSS Grid 容器,并定义两行布局——第一行(对应 )高度由内容决定(auto),第二行(对应 )则弹性占满剩余空间(1fr)。

关键 CSS 修改如下:

.tableFixHead {
  overflow: auto;
  height: 80vh; /* 可根据实际需求调整,如 100vh 或具体 px 值 */
}

/* 核心改造:启用 Grid 布局并定义行轨道 */
table {
  display: grid;
  grid-template-rows: auto 1fr; /* 第一行自适应,第二行占满剩余空间 */
  border-collapse: collapse;
  width: 100%;
}

.tableFixHead thead th {
  position: sticky;
  top: 0;
  z-index: 1;
}

th, td {
  padding: 8px 16px;
}

th {
  background: #eee;
}

⚠️ 重要注意事项:

科威旅游管理系统
科威旅游管理系统

该软件是以php+MySQL进行开发的旅游管理网站系统。系统前端采用可视化布局,能自动适应不同尺寸屏幕,一起建站,不同设备使用,免去兼容性烦恼。系统提供列表、表格、地图三种列表显示方式,让用户以最快的速度找到所需行程,大幅提高效率。系统可设置推荐、优惠行程,可将相应行程高亮显示,对重点行程有效推广,可实现网站盈利。系统支持中文、英文,您还可以在后台添加新的语言,关键字单独列出,在后台即可快速翻译。

下载

立即学习前端免费学习笔记(深入)”;

必须作为
直接子元素,Grid 布局才能正确识别其语义结构并分配行轨道;
  • 不要对
  • 设置 display: block 等覆盖默认显示模式的规则,否则会破坏 Grid 子项的渲染逻辑;
  • 若表格含
  • ,需同步扩展 grid-template-rows(如 auto 1fr auto),并确保 DOM 顺序与 Grid 行序一致;
  • sticky 定位依赖父容器具有明确的高度(即 .tableFixHead 的 height 不可为 auto),因此 height: 80vh 等显式设置必不可少;
  • 此方案兼容所有现代浏览器(Chrome 66+、Firefox 63+、Safari 14.1+、Edge 79+),无需 polyfill。
  • 该方法完全脱离“减法思维”(即 calc(100% - Xpx)),转而采用声明式布局逻辑,既提升代码可读性与健壮性,也契合 CSS 的响应式设计哲学。对于需长期维护的数据表格组件,推荐将其封装为可复用的类名(如 .table-auto-body),统一应用此 Grid 模式。

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    chrome什么意思
    chrome什么意思

    chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

    944

    2023.08.11

    chrome无法加载插件怎么办
    chrome无法加载插件怎么办

    chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

    779

    2023.11.06

    edge是什么浏览器
    edge是什么浏览器

    Edge是一款由Microsoft开发的网页浏览器,是Windows 10操作系统中默认的浏览器,其目标是提供更快、更安全、更现代化的浏览器体验。本专题为大家提供edge浏览器相关的文章、下载、课程内容,供大家免费下载体验。

    1561

    2023.08.21

    IE浏览器自动跳转EDGE如何恢复
    IE浏览器自动跳转EDGE如何恢复

    ie浏览器自动跳转edge的解决办法:1、更改默认浏览器设置;2、阻止edge浏览器的自动跳转;3、更改超链接的默认打开方式;4、禁用“快速网页查看器”;5、卸载edge浏览器;6、检查第三方插件或应用程序等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    390

    2024.03.05

    如何解决Edge打开但没有标题的问题
    如何解决Edge打开但没有标题的问题

    若 Microsoft Edge 浏览器打开后无标题(窗口空白或标题栏缺失),可尝试以下方法解决: 重启 Edge:关闭所有窗口,重新启动浏览器。 重置窗口布局:右击任务栏 Edge 图标 → 选择「最大化」或「还原」。 禁用扩展:进入 edge://extensions 临时关闭插件测试。 重置浏览器设置:前往 edge://settings/reset 恢复默认配置。 更新或重装 Edge:检查最新版本,或通过控制面板修复

    982

    2025.04.24

    DOM是什么意思
    DOM是什么意思

    dom的英文全称是documentobjectmodel,表示文件对象模型,是w3c组织推荐的处理可扩展置标语言的标准编程接口;dom是html文档的内存中对象表示,它提供了使用javascript与网页交互的方式。想了解更多的相关内容,可以阅读本专题下面的文章。

    3740

    2024.08.14

    css中的padding属性作用
    css中的padding属性作用

    在CSS中,padding属性用于设置元素的内边距。想了解更多padding的相关内容,可以阅读本专题下面的文章。

    143

    2023.12.07

    html边框设置教程
    html边框设置教程

    本教程将带你全面掌握HTML/CSS边框设置,从基础的border属性讲起,涵盖所有边框样式、圆角设置及高级技巧,帮助你快速上手实现各种边框效果。

    41

    2025.09.02

    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

    本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

    76

    2026.02.13

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Sass 教程
    Sass 教程

    共14课时 | 0.9万人学习

    Bootstrap 5教程
    Bootstrap 5教程

    共46课时 | 3.3万人学习

    CSS教程
    CSS教程

    共754课时 | 31.5万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号