项目作者: newbie-xidu

项目描述 :
去除inline-block元素间间距的几种方法
高级语言:
项目地址: git://github.com/newbie-xidu/inline-block-problem.git
创建时间: 2017-01-18T09:41:15Z
项目社区:https://github.com/newbie-xidu/inline-block-problem

开源协议:

下载


当我们用inline-block代替float的时候,会出现元素之间有空隙的情况,如图

这里写图片描述

再这里我就列举几种简单的办法:

1、元素之间出现空隙是因为标签段之间的空格,所以只要去掉标签端之间的空格即可。

  1. //结构一
  2. <div class="body" >
  3. <div class="box">
  4. </div><div class="box">
  5. </div><div class="box">
  6. </div><div class="box">
  7. </div><div class="box">
  8. </div>
  9. </div>
  10. //结构二
  11. <div class="body" >
  12. <div class="box"></div
  13. ><div class="box"></div
  14. ><div class="box"></div
  15. ><div class="box"></div
  16. ><div class="box"></div>
  17. </div>
  18. //结构三
  19. <div class="body" >
  20. <div class="box"></div><!--
  21. --><div class="box"></div><!--
  22. --><div class="box"></div><!--
  23. --><div class="box"></div><!--
  24. --><div class="box"></div>
  25. </div>

2、子元素设置margin:-4px; 这种解决方法并不完美,如果你的父元素设置的字号不一样,可能你的“-4px”就不能解决问题。况且在Chrome中你需要设置margin:-8px;才能实现同等的效果。

  1. .box{
  2. width: 50px;
  3. height: 50px;
  4. display: inline-block;
  5. background: lightcoral;
  6. margin: 0 auto;
  7. margin-right:-8px;
  8. }

3、设置父元素字体为 0 。

  1. .body{
  2. width: 300px;
  3. font-size: 0;
  4. /*-webkit-text-size-adjust:none;*/
  5. background: lightblue;
  6. }

4、用浮动的方法也可以解决。

暂时就写这些以后遇到再慢慢补充。