咱们在前端布局的时候,会偶尔发现,在具备inline/inline-block属性的元素间存在一小段间隙,网上有些文章说这个间隙是6px,但我以为应该是一个空格的宽度。前端
这里以inline-block(IE六、IE7不支持,也就是存在兼容问题)为例:浏览器
下面是一些代码及其相应的效果图:布局
CSS:spa
span{
background:red;
display:inline-block;
}
HTML:code
<span>你好</span><span>你好</span><span>你好</span><span>你好</span>
效果图:blog
若是只更改HTML部分为class
<span>你好</span><span>你好</span> <span>你好</span><span>你好</span>
则效果图:方法
能够看到中间多出了一个小间隙,这个间隙就是由换行产生的。im
若是同时又更改CSS部分,设置font-size为一个比较大的值layout
*{
font-size:36px;
}
span{
background:red;
display:inline-block;
}
咱们有下图
能够看到间隙变大了。
若是咱们把HTML部分换行替换成空格,能够获得上图同样的效果
因而可知,inline/inline-block之间的间隙确实由换行符产生,其大小为一个空格宽度(这里要说明一下,这个空格宽度是指相应父元素的空格宽度)。
附加:inline-block兼容问题
要解决inline-block的兼容问题,首先要了解兼容问题产生的缘由。
一、IE六、IE7不识别inline-block但能够触发块元素。
二、其余主流浏览器都支持inline-block。
解决方法:
一、兼容IE六、IE7:首先设置inline-block触发块元素,使其具备layout属性,其次设置inline,此时layout属性不会消失。或者设置inline,而后再设置zoom:1触发layout。
二、兼容全部主流浏览器:
display:inline-block;
*display:inline;
*zoom:1;