<style>
.thumb { font-size: 0; line-height: 0; }
</style>
<div class="thumb">
<img src="http://example.com/1.gif" width="100" height="100" />
</div>
所有inline,inline-block都会有这个问题,该问题会受到lineheight、fontsize以及vertical-align的共同影响,不是BUG,而是对齐的标准
img {
width: 180px;
background: #ccc;
height: 100%;
/* 方案1:display:block; */
/* 方案2:vertical-align:bottom; */
/* 方案3:img元素设定height: 100%; 父元素设定height:180px */
}
5 回答1.3k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
4 回答1.9k 阅读
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
http://jsfiddle.net/o8dk3z4u/2/
因为
img
默认是按基线(baseline)对齐的。对比一下图片和右边的p, q, y
等字母,你会发现这三个字母的“小尾巴”和图片下方的空白一样高。下面这张图中的黑线就是那条基线。要去掉空格可以使用
vertical-align: bottom
或将img
标签变为块级元素。至于什么是基线,还记得四线三格的英语写字本么?中间第三条线就是基线。