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. eclipse 字体、背景、自动提示设置

    1 字体设置 点击最上面菜单栏的“Window”---“preferences”弹出属性界面 General---  Appearance---Colors and Fronts,找到Java 选择“ ...

  2. <转载>SQL查询数据库各表所占空间

    IF OBJECT_ID('tempdb..#TB_TEMP_SPACE') IS NOT NULL DROP TABLE #TB_TEMP_SPACE GO CREATE TABLE #TB_TEM ...

  3. Easy51RTOS入门级初略分析

    main.c #include "reg51.h" #include "os_cfg.h" #define TASK_DELAY0 TIME_PER_SEC/1 ...

  4. AngularJS的学习笔记(一)

    声明:单纯作为我自己的学习笔记,纯是为了自己学习,上面的话都是从各处粘贴,如有冒犯,请原谅我这个小菜鸟~ AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷. 使用双大括 ...

  5. pytho简单爬虫_模拟登陆西电流量查询_实现一键查询自己的校园网流量

    闲来无事,由于校园内网络是限流量的,查询流量很是频繁,于是萌生了写一个本地脚本进行一键查询自己的剩余流量. 整个部分可以分为三个过程进行: 对登陆时http协议进行分析 利用python进行相关的模拟 ...

  6. java中的foreach循环

    foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语 ...

  7. C++线程池

    之前一直在找一个开源的C++线程池库,找了很久也没有找到一个好用的,后来项目需要, 本想自己写一个,但是无意中在github上面找了一个采用boost库实现的threadpool,后来研究 了一下源码 ...

  8. linux下系统编程C环境搭建

    一.系统安装 我使用的是VMware8下的ubuntu12.04,这是培训老师说的,12.04相对来说,比较新,而且是5年长期支持版,不容易过时.对于系统的安装,我不想说很多,只是希望大家主义这几点: ...

  9. NC台网震相走时获取及 HYPOINVERSE 格式读取

    HYPOINVERSE格式介绍:http://www.ncedc.org/ftp/pub/doc/man5/ncsn.phase.5 获取网站: http://www.ncedc.org/ncedc/ ...

  10. Darlington Pair

    今天注意到在PWM输出电路中有个器件叫ULN2003,它是达林顿管阵列,该型号应该是通用型号,因为我看到ST和TI都有对应型号的产品. 达林顿管以前没听过,赶紧补一补,而所谓的阵列也就是八个达林顿管封 ...