display: inline-block 属性很好的避免了元素的浮动问题,但是会有点小问题,就是 inline-block 元素间的回车会被显示为一个空格。然而,我们写代码时,都是用回车来格式化的。。。

最简单的方法就是把 inline-block 元素之间的回车删除,就是代码显示有点不美观,影响阅读。

方法总结

以下方法不保证浏览器兼容性问题,仅在 Chrome 浏览器测试通过

HTML Code:

  1. <h5>未处理空格</h5>
  2. <ul>
  3. <li>One</li>
  4. <li>Two</li>
  5. <li>Three</li>
  6. </ul>
  7. <h5>通过格式化代码来去除空格</h5>
  8. <ul>
  9. <li>One</li><li>
  10. Two</li><li>
  11. Three</li>
  12. </ul>
  13. <h5>用空白注释代替回车</h5>
  14. <ul>
  15. <li>One</li><!--
  16. --><li>Two</li><!--
  17. --><li>Three</li>
  18. </ul>
  19. <h5>通过忽略&lt;/li&gt; 去除空格</h5>
  20. <ul>
  21. <li>One
  22. <li>Two
  23. <li>Three
  24. </ul>
  25. <h5>设置 margin-right: -4px 去除空格</h5>
  26. <ul class="margin-fix">
  27. <li>One</li>
  28. <li>Two</li>
  29. <li>Three</li>
  30. </ul>
  31. <h5>设置 font-size: 0 去除空格</h5>
  32. <ul class="font-size-fix">
  33. <li>One</li>
  34. <li>Two</li>
  35. <li>Three</li>
  36. </ul>
  37. <h5>设置 flex-box 去除空格</h5>
  38. <ul class="flex-box">
  39. <li>One</li>
  40. <li>Two</li>
  41. <li>Three</li>
  42. </ul>

CSS Code:

  1. body {
  2. font-family: sans-serif;
  3. font-size: 16px;
  4. }
  5. ul {
  6. list-style: none;
  7. }
  8. li {
  9. display: inline-block;
  10. background-color: #000;
  11. color: #fff;
  12. padding: 5px;
  13. }
  14. ul.margin-fix li {
  15. margin-right: -4px;
  16. }
  17. ul.font-size-fix {
  18. font-size: 0;
  19. }
  20. ul.font-size-fix li {
  21. font-size: 16px;
  22. }
  23. ul.flex-box {
  24. display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
  25. display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
  26. display: -ms-flexbox; /* TWEENER - IE 10 */
  27. display: -webkit-flex; /* NEW - Chrome */
  28. display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  29. }

效果图:

CSS3如何去除 inline block 元素之间多出的空格的更多相关文章

  1. 去除行内(inline/inline-block)元素之间的间距

    先展示一下,行内元素之间存在间距,实例代码如下: <style> div { color: #fff; padding: 25px 50px; } .inline-f00 { displa ...

  2. 关于block元素和inline元素

    呃...这个会不会太基础了.最近在复习,所以基础知识也不能够忽略. 根据HTML 4.01 规范,其描述如下(http://www.w3.org/TR/html401/struct/global.ht ...

  3. 行内块inline-block元素之间出现空白间隙原因及解决办法

    首先,来看下具体的问题,下面是用inline-block布局实现的两边固定宽度,中间自适应的html代码: 1 2 3 4 5 6 7 8 9 <section class="layo ...

  4. display:inline-block元素之间空隙的产生原因和解决办法

    在CSS布局中,如果我们想要将一些元素在同一行显示,其中的一种方法就是把要同行显示的元素设置display属性为inline-block.但是你会发现这些同行显示的inline-block元素之间会出 ...

  5. HTML行内级元素之间的空格问题

    HTML行内级元素之间的空格问题 1.为什么元素之间会产生空格? 在编写行内级元素(包括inline-block元素)的代码之间如果有空格(换行),在浏览器上就会显示元素之间有空格. 示例代码如下: ...

  6. 如何去除内联元素(inline-block元素)之间的间距(转载)

    如何去除内联元素(inline-block元素)之间的间距   前几天写一个专题页 div{width:900px;}div a{ display:inline-block; width:300px; ...

  7. block元素和inline元素的特点

    一.block元素的特点 1.处于常规流中时,如果width没有设置,会自动填充满父容器 2.可以设置height/width及margin/padding 3.处于常规流中时,布局在前后元素位置之间 ...

  8. inline元素、block元素

    inline元素 不会独占一行,相邻的行内元素会排列在同一行内,直到一行排不下才会换行 高.行高.以及外边距和内边距不可改变 宽度就是它的文字或图片的宽度,不可改变,随元素内容变化而变化 内联元素只能 ...

  9. 多个inline元素、block元素、inline-block元素在父容器中的换行情况

    1.首先看inine元素的换行情况 <style> *{padding:0;margin:0} div.wrap{width:200px;height:200px;border:1px s ...

随机推荐

  1. maven添加自己的jar包到本地仓库

     mvn install:install-file -DgroupId=com.esotericsoftware -DartifactId=minlog -Dversion=1.2 -Dpackagi ...

  2. jdbc调用存储过程和函数

    1.调用存储过程 public class CallOracleProc { public static void main(String[] args) throws Exception{ Stri ...

  3. MicroERP软件更新记录2.0

    本次更新: 版本:2.0 内容:人力资源日常管理.工资薪酬.绩效考核 下次更新: 版本:2.1 内容:客户关系管理 开发载图: 截图(部分):

  4. python登录执行命令

    #-*- coding: utf-8 -*- #!/usr/bin/python import paramiko import threading import getpass def ssh2(ip ...

  5. powershell玩转SQL SERVER所有版本

    微软发布了最新的powershell for sql server 2016命令行客户端库.文章介绍了与之相关的实用方法. powershell 传教士 原创文章 2016-06-05, 2016-1 ...

  6. Groovy解析xml并且注入Project,TestSuite,TestCase级别的custom properties

    import com.eviware.soapui.support.GroovyUtils import groovy.util.XmlParser def groovyUtils = new Gro ...

  7. rpc使用JUnit模块测试设计的方法及常见问题

    RPC:Remote Procedure Call 远程过程调用 Wikipedia:http://en.wikipedia.org/wiki/Remote_Procedure_Call 百度百科:h ...

  8. Djanog结合jquery实现ajax

    最近想在使用django的基础上通过jquery实现页面局部刷新的功能,研究了两天,终于是解决了这个问题,下面把方法步骤记录下来,以备以后重用. 在项目中通过两种形式实现了ajax: 第一种方法:we ...

  9. Type.GetType()反射另外项目中的类时返回null的解决方法

    项目1:ProjectA namespace ProjectA { public class paa { .... } } Type.GetType("paa")返回null Ty ...

  10. easyui propertygrid 动态绑定

    从$.fn.datagrid.defaults继承,覆盖默认值 $.fn.propertygrid.defaults propertygrid 提供用户一个接口,浏览和编辑对象属性,propertyg ...