去掉块状元素与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:bottom
,vertical-align:middle
,vertical-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/