要实现真正的双线边框,必须使用border-style: double配合border-collapse: collapse和≥3px宽度,且需为table、th、td分别设置border,否则仅外框显示或退化为单线。

直接用 border-style: double,但必须配合 border-collapse: collapse 和 ≥3px 的宽度,否则浏览器会渲染成单线或错位双线。
为什么 border="2" 不是双线边框
很多人写 <table border="2"> 后发现只是边框变粗,不是两条平行线——因为 <code>border 是 HTML 旧属性,只控制单线粗细和颜色,不支持 double 样式。它默认启用 border-collapse: separate,单元格之间还有 border-spacing,视觉上反而更像“断开的粗线”,而非真正的双线。
-
border="1"实际等价于border: 1px solid #000,颜色和样式不可改 - 现代项目中混用
border="1"和 CSS 边框,极易冲突(比如外框加了 CSS,内部仍残留 HTML 默认边框) - 想兼容打印、响应式或主题切换时,
border属性完全无法适配
border-style: double 的硬性要求
W3C 定义的 double 是两条等宽、等距的实线,中间留白;但它对宽度有隐含限制:太细就画不出两条线。
- 最小有效宽度是
3px,2px在多数浏览器(Chrome/Firefox/Safari)下退化为单线 - 必须显式指定颜色,
border: 3px double缺少颜色 → 无边框(浏览器默认色不可靠) - 只作用于单个元素的边框,
<table> 上设了 <code>double,<td> 没设 → 只有外框双线,内部仍是单线或无边框 <h3>完整写法:让整个表格都呈现双线感</h3> <p>真正“复古双线表格”效果,需要外框 + 内格线都用 <code>double,且严格合并边框。- 必须给
<table> 设置 <code>border-collapse: collapse,否则每个<td> 的双线会错位、重叠、间距不均 <li><code><table>、<code><th>、<code><td> 都要单独设置 <code>border: 3px double #333(颜色按需替换) - 避免在
style属性里写!important—— 内联样式优先级已足够高,加了反而干扰调试 - 如果设计要求圆角,
border-radius会破坏double渲染(角落处线条断裂),此时应放弃double,改用box-shadow模拟外线
最简可靠示例:
标题 内容 注意:不要只给
<table> 加 <code>double就以为万事大吉——内部单元格边框没设,就只剩一个空荡荡的双线外框。 - 必须给
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











