去掉块状元素与img之间间隙

造成图片与容器下边界有空隙的原因

在网上搜了一下,

图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 3px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。

只要vertical-align不取baseline,这个空隙就消失了。

请看如下实例(注意::测试工具:ff,chrome,360–支持IE7+)

<style>
#l1 {float:left;background:#000;}
#l1 ul li {list-style:none;padding:0;margin:0}
img {height:100px;}
</style>

<div id="l1">
   <ul>
        <li><img src="30-023131_451.jpg" /></li>
        <li><img src="30-023131_451.jpg" /></li>
        <li><img src="30-023131_451.jpg" /></li>
   </ul>
</div>

我们会发现li底部与img底部有间隙,so bad!

第一,给图片img标签display:block

兼容性IE8+,firefox,chrome

第二,定义容器里的字体大小为0。font-size:0

兼容性IE8+,firefox,chrome

第三,定义图片img标签vertical-align:bottomvertical-align:middlevertical-align:top

img{vertical-align:bottom}

兼容性IE7+,firefox,chrome

第四,给li加高度

兼容性IE7+,firefox,chrome

测试发现,给img加vertical-align效果最佳


去掉块状元素与img之间间隙
https://blog.puresai.com/2015/12/22/7/
作者
puresai
许可协议