跳转到主内容
极星编程网:以代码为星,赴技术山海!

HTML table的empty-cells属性?控制空单元格的边框显示

empty-cells仅在border-collapse:separate时生效,collapse模式下被忽略;取值show(默认,渲染空单元格)或hide(隐藏边框但保留文档流),不支持inherit等通用值。
empty-cells
只在
border-collapse: separate
时生效,设成
collapse
后它直接被忽略 —— 这是绝大多数人调了半天没效果的根本原因。 为什么 empty-cells: hide 没反应? 浏览器只在「边框分离」模式下才检查这个属性。如果你的表格用了
border-collapse: collapse
(现在大多数 UI 框架默认这么设),
empty-cells
就完全不工作,无论你写
show
还是
hide
都没差别。 用开发者工具检查
computed
样式,确认
border-collapse
真的是
separate
IE8+ 才支持该属性,且必须声明
,否则降级为 IE7 行为(默认隐藏空单元格边框) 如果表格有
border
简写声明但没显式写
border-collapse
,不同浏览器可能按各自默认值处理,结果不一致 empty-cells: hide 导致边框断裂怎么办? 在
separate
模式下,
empty-cells: hide
不是“让空单元格变透明”,而是“彻底移除它的边框绘制逻辑”——周围非空单元格的边框会戛然而止,造成视觉断点。 典型现象:左右两个带
1px solid #666
的单元格中间夹一个空单元格,设了
hide
后,那条横线就断开了 根本解法不是调
empty-cells
,而是统一所有单元格的
border
声明(包括空单元格),或改用
border-collapse: collapse
如果必须用
separate
+
hide
,记得同步设置
border-spacing
,否则间距区域会裸露成白块 JavaScript 动态控制 emptyCells 属性 通过
element.style.emptyCells
设置只影响内联样式,且前提是元素本身没被
collapse
锁死。 使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件 如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Andr​​oid友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Andr​​oid应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更 下载 立即学习 “ 前端免费学习笔记(深入) ”; 正确写法:
tableEl.style.borderCollapse = 'separate'; tableEl.style.emptyCells = 'hide';
注意大小写:
emptyCells
是驼峰,CSS 里是
empty-cells
,别写成
emptycells
(IE 旧版曾容忍,但现代浏览器已不认) 读取时返回字符串,比如
getComputedStyle(tableEl).emptyCells
返回
"hide"
,但若当前是
collapse
模式,它仍可能返回
"show"
(只是不生效) 真正难的不是记住
show
和
hide
,而是意识到:只要表格边框需要稳定对齐、响应式缩放或跨浏览器一致,
empty-cells
就不该是第一选择——它是个窄口径的补丁,不是布局方案。

相关文章