【问题标题】:inline-block overlaps container's border in Chrome内联块在 Chrome 中与容器的边框重叠
【发布时间】:2014-08-26 11:23:43
【问题描述】:

为什么在下面的测试用例中 inline-block 会与 Chrome 中容器的底部边框重叠?

HTML:

<ul>
  <li><a href="">test</a></li>
  <li><a href="">test</a></li>
  <li><a href="">test</a></li>
</ul>

CSS:

ul {
  border-bottom: 1px solid red;
  font-size: 12px;
}
li a {
  display: inline-block;
  padding: 0.4em;
  background: yellow;
}

测试用例:

http://cssdeck.com/labs/5vu2eue5

【问题讨论】:

标签: html css google-chrome webkit blink


【解决方案1】:

其实我找到了bug report

如果您遇到同样的问题,请为这个问题加注星标。

【讨论】:

    【解决方案2】:

    如果您不关心项目符号点,您可以在链接元素上使用 vertical-align:bottom 清除它:

    li a {
        vertical-align:bottom;
    }
    

    【讨论】:

    • 不错的解决方案!谢谢!
    【解决方案3】:

    这都是关于计算em 元素的。在em like(0.5em, 1em..) 中使用圆形值,它会给出正确的结果。

    li a {
    display: inline-block;
    padding:0.5em;
    background: yellow; 
    } 
    

    DEMO

    【讨论】:

    • 也许可以,但是使用 display:block,0.4em 就没有这个问题
    猜你喜欢
    • 1970-01-01
    • 2016-02-13
    • 2018-06-24
    • 2023-03-15
    • 2014-11-09
    • 2015-12-24
    • 2013-02-15
    • 1970-01-01
    • 2012-10-05
    相关资源
    最近更新 更多