【问题标题】:Div gets extra height for no reasonDiv 无缘无故地获得额外的高度
【发布时间】:2012-05-12 16:43:36
【问题描述】:

我有一些这样的标记:

<div class="account-picture">
    <img src="http://i.imgur.com/Mcr3l.png">
</div>

div 需要向左浮动。图片为 128 像素 x 128 像素。

还有一些 CSS:

.account-picture{
   float: left;
   background: #FFFFFF;
   padding: 10px;
   border: 1px solid red;
   font-size: 1px;
   overflow: hidden;
}

img{
   border: 1px solid #F8F8F8;
   overflow: hidden;
}

但问题是似乎为 div 分配了一些额外的高度。 firebug的布局图如下:

为什么 div 的高度会多出 2 个像素?为什么它在不同浏览器中有所不同?

  • Firefox 12:额外增加 2 像素
  • IE9:额外增加 0.26 像素
  • Chrome:0px 额外。

这是一个小提琴:http://jsfiddle.net/mWe5Y/

为什么会发生这种情况,我该如何摆脱那个额外的“高度”?

【问题讨论】:

    标签: html css cross-browser height


    【解决方案1】:

    因为 img 是一个内联元素。

    要摆脱多余的高度:

    .account-picture img {
        display: block;
    }
    

    【讨论】:

    • 这是我们可以在重置样式表中标准化的东西吗?
    • 使用 img { display: block; 是否安全? } 在 reset.css 表中?当然,但有时您可能希望将 视为内联元素。在这些情况下,您需要在适当的位置添加 CSS 来实现这一点。 stackoverflow.com/questions/4904668/…
    • 哇。很好的修复。你是怎么发现的?
    猜你喜欢
    • 2020-03-06
    • 2020-10-05
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多