行内块元素在水平与垂直方向会产生空白幽灵,原因如下:

水平空白幽灵:在两个行内元素之间使用了回车键或者空格键,这个回车键或者空格键会被修饰为一个空格键的大小,从而产生水平的空白幽灵(不换行不加空格,不会产生水平空白幽灵)

垂直空白幽灵:背景:div里面有一个字母x,还要一个行内元素;

行内块元素空白幽灵产生的原因_其他

 

 

 

字母x的底部刚刚好贴到div元素的底部吗?答案是不可能,因为,如果把字母x变成字母y,那么字母y整个的高度是大于字母x的,所以,产生的空白幽灵是为了给字母y的下部分留下位置来渲染。

 行内块元素空白幽灵产生的原因_其他_02

 

 把字母x换成字母y

行内块元素空白幽灵产生的原因_块元素_03

 

把字母删掉

行内块元素空白幽灵产生的原因_其他_04

 

 即使不写字母,也会默认的预留一段距离

 

解决方案:

  1.父元素设置font-size:0px,元素本身在设置对应的字体大小

  2.不使用行内元素,使用块元素代替