今天在做图片列表的时候发现图片距离下面有2px间隙,我已经把 img 的外边距和内边距什么的全部清空了,怎么会出来2px间隙呢?实际上,这其实是inline元素搞的鬼。下面看青岛星网解决方案。
任何不是块级元素的可见元素都是内联元素,其表现的特性是“行布局”形式。
—-《CSS权威指南》
意思就是,其实如图片文字等内联元素,它默认对齐方式都是和它的父级的 baseline 去进行对齐的,但是你对齐的是 baseline,撑开高度的却是元素整体的高度(bottom line),这样肯定就会造成一定的间隙,也就是我们我们标题所说的问题了。
那我们既然知道了这个问题出现的原因,那么解决起来也就简单多啦。
1、可以设置img的父级div的line-height:0 或者font-size:0;
2、设置img为display:block 或者设置vertical-align:middle;
3、也可以设置img父元素为浮动