在设置li标签display:inline-block;属性后,li之间出现大约8px的空白间隙的原因

最近写页面时遇到了一个bug,就是将<li>标签设置display:inline-block;属性后,<li>之间出现大约8px的空白间隙,导致页面变得不如理想中那么完美,解决问题后将方法分享出来,希望能帮到有需要的小伙伴。

原因分析:浏览器的默认行为是把inline元素间的空白字符(空格换行tab)渲染成一个空格,也就是我们上面的代码<li>换行后会产生换行字符,而它会变成一个空格,当然空格就占用一个字符的宽度。

解决方法:

方法一:既然是因为<li>换行导致的,那就可以将<li>代码全部写在一排,如下

 
 
  1. <div class="wrap">
  2. <h3>li标签空白测试</h3>
  3. <ul>
  4. <li class="part1"></li><li class="part2"></li><li class="part3"></li><liclass="part4"></li>
  5. </ul>
  6. </div>


方法二:我们为了代码美观以及方便修改,很多时候我们不可能将<li>全部写在一排,那怎么办?既然是空格占一个字符的宽度,那我们索性就将<ul>内的字符尺寸直接设为0,将下面样式放入样式表,问题解决。

 
 
  1. .wrap ul{font-size:0px;}

但随着而来的就是<ul>中的其他文字就不见了,因为其尺寸被设为0px了,我们只好将他们重新设定字符尺寸。


猜你喜欢

转载自blog.csdn.net/huihuikuaipao_/article/details/80895797