HTML表格属性rules需配合CSS的border-collapse:collapse才能生效,控制行与列之间的分隔线,不影响外边框。不同取值决定网格线分布策略,但Chrome和Safari可能额外渲染外框,需用CSS清除。rules不支持颜色、虚线等精细控制,现代项目推荐使用CSS替代。
说实话,这个问题几乎每个用过的开发者都碰上过——明明在 问题几乎都出在同一个地方: 长期稳定更新的攒劲资源: >>>点此立即查看<<< 更让人头疼的是,Chrome 和 Safari 会把 所以,结论很明确:现代项目里, 侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述 上老老实实写了
rules="all",结果浏览器跟没看见一样,啥反应都没有。
border-collapse: collapse 没写。浏览器默认用的是 border-collapse: separate 模式,在这种模式下,rules 属性完全被忽略,连个招呼都不打。关键就在这里:
加上 CSS:
style="border-collapse: collapse",rules 才开始工作
rules 不会自动触发合并边框模式,也不影响外边框——外框得单独用 border 控制 自己写了 border 样式,它会覆盖 rules 的线宽和颜色,因为 rules 本身不定义颜色、线型或粗细
都得单独设
rules 和 border-collapse: collapse
rules="rows"、"cols"、"all" 到底画什么线?
rules 控制的是“行与行之间”“列与列之间”的分隔线,不是单个单元格的四周边框。它的取值只决定网格线的分布策略。看看效果:
rules="rows" → 只画水平线(即每行下方一条线),列方向无竖线rules="cols" → 只画竖直线(同列相邻 之间),行方向无横线
rules="all" → 横竖线都画,但仍是统一像素的网格,不是外框rules="groups" → 仅在 / 边界处画线,前提是这些标签真实存在且语义正确
rules="none" → 所有内部线消失,但 若有自身 border,仍会显示
Chrome/Safari 中 rules 显示异常怎么办?
rules 解释为“内侧边框 + 外侧边框”,导致意外多出一圈外框。比如 rules="rows" 可能同时渲染顶部外框、行间横线、底部外框。
table { border: none; },再单独给 或 加边框
Table1.Rules = "all" 无效,得写成 Table1.Attributes["rules"] = "all"真正需要精细控制时,该用什么替代?
rules 不支持颜色、虚线、圆角,也无法单独控制某一行/列。一旦要差异化样式(比如表头下加粗线、最后一行不画线),就得切回 CSS:
tbody tr + tr { border-top: 1px solid #e0e0e0; } 控制行间线td:not(:last-child) { border-right: 1px solid #ddd; } 控制列间线,再用 .summary-row { border-top: 2px double #333; }
rules 灵活得多rules 的价值基本只剩纯静态文档、邮件模板或遗留系统兼容——它是个可用但不宜深绑的过渡方案。真正容易被忽略的,是它和 border-collapse: collapse 的强耦合关系,以及对语义结构(/)的隐式依赖。
相关攻略
更多
同类更新
更多
热游推荐
更多
下载
下载
下载
下载
下载