双线边框必须用CSS的border-style: double实现,且最小宽度需设为3px;表格需同时设置border-collapse: collapse及table、th、td的border样式才能正确显示双线效果。

双线边框必须用 border-style: double,不是 border="2"
很多人写 <table border="2">,发现只是边框变粗,不是两条平行线——这是根本误解。border 是 HTML 旧属性,只控制单线粗细和颜色,跟 CSS 的 double 完全无关。真正双线效果只能靠 CSS 的 border-style: double 实现。
border-style: double 对宽度有硬性要求
浏览器渲染 double 时,会画两条等宽实线 + 中间留白;如果总宽度太小(如 1px 或 2px),中间空白区域被压缩,视觉上退化为单线。
- 推荐最小宽度设为
3px,例如:border: 3px double #000 -
2px double在部分高缩放比屏幕或旧浏览器中可能不可靠 - 颜色必须显式声明,
double不继承父级 color,写成border: 3px double会失效
表格双线边框必须配 border-collapse: collapse
如果不加这个,<td> 各自的 double 边框会错位:相邻单元格的双线不重合,左右/上下看起来像四条线堆叠,完全失去“双线”本意。
- 必须作用于
<table>元素,写在<th>或<td>上无效 - 只设
border-collapse: collapse不够——还得给<table>、<th>、<td>都加上border,否则只有外框是双线,内部无分隔 - 错误写法:
table { border: 3px double #333; }→ 内部格线消失 - 正确写法:
table, th, td { border: 3px double #333; } table { border-collapse: collapse; }
IE8 及更早版本不支持 double,但现代项目基本不用管
如果你的项目明确要兼容 IE8,double 会降级为 solid,且无法 fallback 成真正双线。不过截至 2026 年,绝大多数生产环境已移除 IE8 支持。
立即学习“前端免费学习笔记(深入)”;
真正容易被忽略的点是:双线本身不提供内边距,内容会紧贴线条。这不是 bug,得靠 padding 显式撑开——别指望 double 自带呼吸感。



















