19

我有一些这样的标记:

<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.26px 额外
  • 铬:0px 额外。

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

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

4

1 回答 1

34

因为 img 是一个内联元素。

为了摆脱额外的高度:

.account-picture img {
    display: block;
}
于 2012-05-03T07:20:22.867 回答