标签li设为display inline-block后间距问题

Posted 菊次郎的幻想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标签li设为display inline-block后间距问题相关的知识,希望对你有一定的参考价值。

在对导航栏做水平排列的时候,我们往往对li元素设为display:inline-block

目的是为了,让所有li元素并排在一起,但是遇到个问题,我们的标签之间会产生空白边距

如图所示:

这样看上去,原本可以紧凑排列的,多出了这么些空白边距,我们有时候处理的方法是:

对于每个li元素设置为float:left,这样做虽然能够消除空白边距,但是其父元素ul的高度就无法自适应,举个例子,每个元素li的高度为30px,但是这样做了之后,ul的高度仍为0,就算清除了浮动,

所以,最好的办法,就是给每个元素li,显示为inline-block,即行内元素,但是这个边距如何去除呢?

方法如下:

  我们只需要在父元素ul上面设置,font-size:0px ,这样空白边距就消失了,

  看一下效果图:

 

这样就很好看了,还有一种方法,就是在每一对li元素之间不要有换行,即在我们大代码里面,把换行放在li元素内部,如下:

<ul>

  `     <li>a

    </li><li>b

    </li><li>b

    </li><li>b

    </li>

</ul>

 

这样也是能够消除换行带来的空白边距的哦~~~

 

以上是关于标签li设为display inline-block后间距问题的主要内容,如果未能解决你的问题,请参考以下文章

li标签设置display:inline-block后产生的间距

无序列表li横向排列的间隙问题

sass十分钟入门

多个选项卡相互冲突

块级标签使用 display:inline-block;显示一行,存在多余的边距的bug解决办法

图像中心垂直和水平对齐[重复]