这个问题遇到了好几次,有如下代码:
<div style="background: #000;">
<img src="https://www.google.com/images/logos/ssl_logo_lg.gif" alt="google logo" />
</div>
<img src="https://www.google.com/images/logos/ssl_logo_lg.gif" alt="google logo" />
</div>
效果图如下:

疑似原因(via):
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 5px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。
随便建了个本地 Demo 了一下,好像没发现问题啊?已经设置了 font-size 和 font-family,囧
@Alan 没写doctype吧?可能是设置了font-size就没事了
@keke,没写 doctype,居然被你发现了,囧。
加 doctype 了,然后单独设置 font-family,没问题,单独设置 font-size,没问题。
我通常设置 line-height:0
曾经在 IE6 中遇到过这个问题,vertical-align:top 就OK了,其他的浏览器也有这个情况?
font-size:0; line-height:0;试试