这个是浏览器的一个设计问题。img本来是行内元素,却可以用width 和height,当父元素没有设置高度的时候,用子元素们的高度计算出的高度给父元素的时候就会出现3px空隙这类的问题。可以参考这个链接老外说的http://www.dynamicdrive.com/forums/showthread.php?24880-White-space-between-lt-li-gt-items
解决这问题有4个方案,一是给父元素设定高度,二就是设置img为块状元素,三给img设置vertical-algin,四设置line-height和font-size
方法1:
img{display:block;}
方法2:
img{vertical-align:top;}
除了top值,还可以设置为text-top | middle | bottom | text-bottom,甚至特定的<length>和<percentage>值都可以
方法3:
img{font-size:0;line-height:0;}