table-layout: auto 无法撑开多行内容,因其列宽仅由首行单元格内容决定,后续行中换行元素或长文本不会反向影响列宽,导致溢出或截断。

table-layout: auto 为什么撑不开多行内容
table-layout: auto 下,表格列宽由**首行单元格内容决定**,后续行中带换行的
、 结构。核心是用
或长文本(如 URL)不会反向影响列宽。浏览器只扫描第一行计算宽度,导致多行内容溢出或被截断。
- 即使设置
white-space: normal和word-break: break-word,列宽也不会重算 - 配合
min-width无效——因为“自动布局”不响应子元素尺寸变化 - 在 chrome/firefox 中表现一致,safari 会更激进地压缩
用 display: grid 替代 table 的关键约束
Grid 能真正响应多行内容高度与宽度,但必须放弃语义化