如何去除inline-block之间的空隙?

<body>
    <ul class="box">
        <li>123</li>
        <li>456</li>
        <li>789</li>
    </ul>
</body>
.box{
border:1px solid #ccc;
padding-left: 4px;
}
.box>li{
display: inline-block;
background-color: red;
padding: 5px;
font-size: 16px;
}

在这里插入图片描述
元素被当成行内元素排版时,元素之间的空白符(空格、回车换行等)都会被浏览器处理,根据white-space的处理方式(默认是normal,合并多余空白),原来HTML代码中的回车换行被转成一个空白符,所以元素之间就出现了空隙。这些元素之间的间距会随着字体的大小而变化,当行内元素font-size:16px时,间距为8px。

1、去除标签之间的空格和回车
<body>
    <ul class="box">
        <li>123
        </li><li>456
        </li><li>789</li>
    </ul>
</body>

或者

<body>
    <ul class="box">
        <li>123</li
        ><li>456</li
        ><li>789</li>
    </ul>
</body>

<body>
    <ul class="box">
        <li>123</li><!-- 
        --><li>456</li><!-- 
        --><li>789</li>
    </ul>
</body>
2、使用负边距

缺点:元素之间间距的大小与上下文字体大小相关;并且同一大小的字体,元素之间的间距在不同浏览器下是不一样的,如:font-size:16px时,Chrome下元素之间的间距为8px,而Firefox下元素之间的间距为4px。所以不同浏览器下margin-right的负值是不一样的,因此这个方法不通用。

3、给父级元素设置font-size:0,子元素根据实际情况使用font-size
.box{
border:1px solid #ccc;
padding-left: 4px;
font-size: 0;
}
.box>li{
display: inline-block;
background-color: red;
padding: 5px;
font-size: 16px;
}

在这里插入图片描述
缺点:inline-block元素必须设定字体,不然行内元素中的字体不不显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值