表格布局属性

最后更新:2026-09-13

table-layout 表格布局属性

table-layout 属性决定表格单元格宽度的计算算法。默认值 auto 根据内容自动调整列宽,内容多时列会被撑宽;fixed 则按表格首行或显式宽度固定列宽,不受内容影响。fixed 模式渲染性能更好,适合数据量大的表格。

分类
初始值auto
继承
适用于
可动画
CSS 版本CSS2
状态标准

📝 语法

table-layout: auto | fixed;

⚙️ 取值

类型描述
auto | fixed关键字表格布局算法

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
table-layout v1 v12 v1 v1 v1
所有主流浏览器均支持
提示: table-layout:fixed 配合 width:100% 和首行 th 的宽度设置,可以快速实现等宽或按比例分配列宽。

❓ 常见问题

Qtable-layout: auto 和 fixed 模式有什么区别?
Aauto(默认):浏览器遍历所有单元格后根据内容自动计算列宽,内容多时列会被撑宽,可能撑破容器,首次渲染较慢;fixed:列宽由表格首行或显式设置的宽度决定,不受内容影响,渲染速度更快,内容溢出时可配合 overflow 或 text-overflow 控制。
Q什么时候应该用 table-layout: fixed?
A数据量大、列宽需要固定或需要文本截断(text-overflow: ellipsis)时推荐用 fixed。它让列宽由首行决定,渲染性能更好,长内容不会撑破表格。响应式表格也常用 fixed 配合百分比列宽实现等宽布局。
Q为什么 table-layout: fixed 时列宽设置不生效?
Afixed 模式下列宽由表格第一行(通常是 th)决定,后续行 td 的宽度设置会被忽略。要控制列宽,应在首行 th 上设置 width,或用 <colgroup> 的 <col> 指定。如果首行没设宽度,列宽按表格总宽除以列数均分。这是 fixed 与 auto 行为差异最大的点。
Qtable-layout: fixed 能解决内容撑破表格的问题吗?
A可以。auto 模式下长内容会把列撑宽甚至撑破容器;fixed 模式下列宽由首行决定,内容超出后默认换行或溢出。配合 white-space: nowrap + overflow: hidden + text-overflow: ellipsis 可实现单行截断省略号,是处理超长文本和表格溢出的常用组合。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏