幽灵节点问题
问题描述:
块状元素只包含一张图片时会有不知名的空白
问题分析:
-
在HTML5当中,内联元素的所有解析和渲染,如同每个行框盒子的前面有一个空白节点,这个节点透明,并且不占据任何宽度,而且也无法用脚本获取。但是只有在HTML5中并且使用
<!DOCTYPE html>
声明的时候才会有。 -
根据上面所说的这个空白节点(幽灵节点)实际上就是在图片前面有看不见的内容。既然是有内容,那么默认时采用的是
vertical-align:baseline
对齐,图片是行内块状元素它的基线是图片的底部。所以才会导致图片下面有一段空白。解决方法:
-
图片块状化,让图片没有基线。
-
将图片改为底部对齐。
-
将
line-height
设置为0px
。上下半行间距就显示不出来了,因为是由于幽灵节点的下半行间距阻挡但是现在下半行间距没有了。所以说图片也会下来。
-
现在下半行间距没有了。所以说图片也会下来。