实现不使用 border 画出 1px 高的线,在不同浏览器的标准模式与怪异模式下都能保持一致的效果。

<div style="height:1px;overflow:hidden;background:red"></div>

补充:上述方案之所以能在两种模式下都稳定显示,是因为它根本不依赖 border 的渲染:

  • 标准模式下,height:1px 就是内容盒 1 像素高;
  • 怪异模式下元素的 width/height 包含了 padding/border,但这里没有 padding/border,行为仍然一致。

其它常见画 1px 细线的方式:

.line { box-shadow: inset 0 -1px 0 #000; }   /* 不占空间,常用于下边框 */
.line { background: linear-gradient(#000, #000) center / 100% 1px no-repeat; }

这些方式都绕开了 border,因此对 box-sizing 的兼容性表现更可控。