去掉inline-block间的间隙

当给多个相邻元素设置display: inline-block时,元素之间默认会产生间隙

<div class="wrapper">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</div>
.wrapper {
    width: 202px;
    height: 202px;
    margin: 30px auto;
    border: 1px solid rgba(0, 0, 0, 3);
}
.item {
    width: 50px;
    height: 50px;
    display: inline-block;
    background: rgba(78, 7, 9, .4);
}

效果如图,产生间隙。

一种思路是在html中手动删掉div之间的空格或者div之间添加注释

<div class="wrapper">
    <div class="item"></div><!--
    --><div class="item"></div><!--
    --><div class="item"></div><!--
    --><div class="item"></div>
</div>
<div class="wrapper">
    <div class="item"></div><div class="item"></div><div class="item"></div><div class="item"></div>
</div>

显然上面两种方法虽然有效,但是看起来很糟糕,而且编写也很不便利。还有一种消除间隙的方法就是每个div设置为float,这里不讨论

当然还有一种一劳永逸的方法: 给父元素设置font-size: 0

.wrapper {
    // 补充
    font-size: 0;
}

效果如下,间隙消除

posted @ 2017-06-12 18:58  u14e  阅读(93)  评论(0编辑  收藏  举报