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. 【转】Nginx中upstream有以下几种方式:

    1.轮询(weight=1) 默认选项,当weight不指定时,各服务器weight相同, 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.upstream bak ...

  2. Scala编程--函数式对象

    本章的重点在于定义函数式对象,也就是说,没有任何可变状态的对象的类.作为运行的例子,我们将创造若干把分数作为不可变对象建模的类的变体.在这过程中,我们会展示给你Scala面向对象编程的更多方面:类参数 ...

  3. c语言问卷调查

    你对自己的未来有什么规划?做了哪些准备? 找一家公司实习积攒创业基金.努力学习专业知识,从各方面完善自身,参与各项活动如辩论赛,竞赛等锻炼自己. 2.你认为什么是学习?学习有什么用?现在学习动力如何? ...

  4. mysql 查询优化

    不说话,先贴代码 public PageResult<BoTmcRaw> getLargeList(BaseCondition baseCondition) { PageResult< ...

  5. 【转】 shell 判断语句

    转自:http://see.sl088.com/wiki/Shell_%E4%B8%AD%E6%8B%AC%E5%8F%B7 test 和 [] test -z string 判定字串是否為 0 ?若 ...

  6. mongodb php driver on windows

    windows env: os:windows 10 soft: XAMPP for Windows 5.6.15    php version:5.6.15  Architecture:x86 Th ...

  7. QM UML状态机建模实例之Blinky for cortex-m0

    简介:QP由Quantum Leaps公司开发异于传统顺序式系统(前后台架构即main+ISR)和传统多任务系统(操作系统)的事件驱动型状态机框架,实现了在C语言下的面向对象编程,该框架支持有限状态机 ...

  8. 把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

    import java.util.Scanner; public class Test2 { public void reverse(String str) { String[] wordArray ...

  9. 关于iOS导航控制器隐藏和显示会出现返回键失效,导航栏标题动画异常

    最近做的demo  bug出现了,我觉得这个bug出现得很经典所以贴出来给大家看看, bug演示就是:点击返回键失效出现如下gif图演示的内容 为啥会出现如此奇葩的bug,系统的返回键居然失效了,尴尬 ...

  10. docker push 实现过程

    这一篇文章分析一下docker push的过程:docker push是将本地的镜像上传到registry service的过程: 根据前几篇文章,可以知道客户端的命令是在api/client/pus ...