HTML表格中通过overflow:hidden隐藏单元格多余内容
在HTML表格中,单元格直接设overflow:hidden无效,需嵌套块级容器并设display:block,配合max-width与white-space:nowrap实现内容截断,同时表格需加table-layout:fixed固定列宽。
先分享一个前端开发中经常遇到的问题:明明在 问题根源在于浏览器的表格布局规则。规范里写得明明白白:表格单元格( 真正起作用的套路是:在单元格里再嵌套一层容器(比如 看看常见错误长什么样: —— 没用的,文本照常漏出去。 正确的打开方式是这样: 就算你把内部 div 的 来个完整的例子: 上写了 overflow: hidden,结果那一大段超长文本还是硬生生把单元格撑破了,完全没被截断。这到底是哪一步出了问题?

overflow:hidden 在 table-cell 上为什么不起作用
table-cell)的 overflow 属性被定义为「忽略」,浏览器默认不认账,除非你先把它的 display 给改了。换句话说,直接往 或 上怼 overflow: hidden,基本等于白写。
必须用 display:block 包裹内容才能生效
display: block,然后给它上 overflow: hidden 加上尺寸限制。否则,样式再花哨也被浏览器无视。
max-width 必须写死——没有边界,overflow: hidden 拿什么来裁剪?white-space: nowrap 是为了不让文字换行,确保只用一行展示。text-overflow: ellipsis 想要出现省略号,还得配合 display: block 或 inline-block 才行。table-layout: fixed 是控制列宽的关键
max-width 设得多漂亮,要是整列的宽度不固定,表格照样会按照内容自动撑开。这时候必须祭出 table-layout: fixed 给 加上,再通过
或 / 给每列明确宽度。
