如何防止元素的边框在 Chrome 中消耗其填充?

How do I prevent the border of an element consuming its padding in Chrome?

我想要的是一个带有背景色的文本,位于 space 下方(例如通过示例中的边框填充),然后是彩色下划线(通过示例中的边框底部)。

以下代码段完全符合我在 Firefox 中的要求。 然而,在 Chrome 中,边框似乎“消耗”了填充,使得文本背景颜色和下划线之间没有 space 剩余。

#test {
    background-color: red;
    border-bottom: 5px solid blue;
    padding-bottom: 5px;
    margin: 0px;
    background-clip: content-box;
    -webkit-background-clip: content-box;
}
<div>
  <span id="test">Test div</span>
</div>

是否在某处记录了这种行为,更重要的是,有没有办法防止这种情况在 Chrome 中发生?

span 一个 display:inline-block; 它会像在 Firefox 中一样工作。

#test {
    background-color: red;
    border-bottom: 5px solid blue;
    padding-bottom: 5px;
    margin: 0px;
    background-clip: content-box;
    -webkit-background-clip: content-box;
    display:inline-block;
}
<div>
  <span id="test">Test div</span>
</div>

说明:inline 元素往往不尊重 padding-top(或底部),导致一些不一致的 cross-browser 体验。您可以在几乎相同的问题上阅读更多内容: