inline-block元素间间距问题

当我们让多个inline-block元素并排显示时,会发现它们之间是存在间距的。

主要代码如下:

<ul>
    <li>li1</li>
    <li>li2</li>
    <li>li3</li>
    <li>li4</li>
</ul>
li{
    display: inline-block;
}

其实,不仅inline-block元素,将li元素的display类型改成inline,会发现inline元素也是会产生此种间距的。

去除间距有如下方法:

1. 使前一个li元素结束标签和后一个li元素开始标签没有空格

<ul>
    <li>
        li1</li><li>
        li2</li><li>
        li3</li><li>
        li4</li>
</ul>

空格就消失了:


2. 给父标签设置font-size:0;

该方法可以解决大部分浏览器下inline-block元素之间的间距问题(IE7等浏览器有时候会有1像素的间距)。

ul{
   font-size:0;
}

3. 设置负margin

margin负值的大小与上下文的字体和文字大小相关,自行调整。

li{
    display: inline-block;
    margin-right: -5px;
}

4. 设置float

li{
    float:left;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容