消除两个inline-block元素之间的间隔

简介: 消除两个inline-block元素之间的间隔

发现问题

两个inline-block元素之间的间隔。如下图

期望

消除两个inline-block元素之间的间隔。

解决方法

1、父元素字体大小设置为0

间隔的形成是非元素标签形成的

/** 方案1,父元素字体大小设置为0 */
.wrap-font {
        font-size: 0;
        /*解决谷歌浏览下最小字体的限制*/
        -webkit-text-size-adjust: none;
}
.wrap-font div {
        font-size: 14px;
}

2、父元素转化为flex元素

/** 方案2,父元素转化为 flex */
.wrap-flex {
        display: flex;
}

推荐此方法

3、子元素转化为table-cell

/** 方案3,子元素转化为 table-cell */
.wrap-table>div {
        display: table-cell;
}

4、

/** 方案4,使用word-spacing */
.wrap-letter-spacing {
        word-spacing: -1em;
}
.wrap-letter-spacing>div {
        word-spacing: 0;
        /*消除父元素底部的间隔*/
        vertical-align: bottom;
}

同样的原理,也可以设置子元素的margin-left为负值来解决

完整代码

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>解决inline-block/inline-flex中间的间隔</title>
  <style>
    .wrap {
      width: 400px;
      background-color: #dcd9d0;
    }
    .wrap-item {
      display: inline-block;
      width: 100px;
      height: 100px;
    }
    /** 方案1,父元素字体大小设置为0 */
    .wrap-font {
      font-size: 0;
      /*解决谷歌浏览下最小字体的限制*/
      -webkit-text-size-adjust: none;
    }
    .wrap-font div {
      font-size: 14px;
    }
    /** 方案2,父元素转化为 flex */
    .wrap-flex {
      display: flex;
    }
    /** 方案3,子元素转化为 table-cell */
    .wrap-table>div {
      display: table-cell;
    }
    /** 方案4,使用word-spacing */
    .wrap-letter-spacing {
      word-spacing: -1em;
    }
    .wrap-letter-spacing>div {
      word-spacing: 0;
      /*消除父元素底部的间隔*/
      vertical-align: bottom;
    }
  </style>
</head>
<body>
  <div class="wrap wrap-flex">
    <div class="wrap-item" style="background-color: #238bbc;"></div>
    <div class="wrap-item" style="background-color: #1db561;"></div>
    <div class="wrap-item" style="background-color: #785696;"></div>
  </div>
</body>
</html>

其它的方法

  1. 子元素的闭合标签紧挨着下个元素的开始标签。</div><div>类似这样
  2. 绝对还有其它的方式,欢迎各位积极留言

相关文章
|
3月前
back and forth 的含义和使用场合介绍
back and forth 的含义和使用场合介绍
63 0
|
2月前
|
前端开发
去除 inline-block 元素间间距的方法
去除 inline-block 元素间间距的方法
|
6月前
|
前端开发 JavaScript 容器
display有哪些值?说明他们的作用?
display有哪些值?说明他们的作用?
|
4月前
|
算法 测试技术
class062 宽度优先遍历及其扩展【算法】
class062 宽度优先遍历及其扩展【算法】
27 0
|
6月前
|
前端开发
|
8月前
|
Web App开发 前端开发 iOS开发
fixed固定定位transofrm失效的解决
fixed固定定位transofrm失效的解决
123 0
|
9月前
|
搜索推荐 前端开发 JavaScript
meta标签有哪些属性和属性值?li设为行内块时有间隙怎么办?call、apply和bind的作用和区别?
`meta`标签可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。`meta`标签位于文档的头部,不包含任何内容。`meta`标签的属性定义了与文档相关联的名称/值对。
|
前端开发 JavaScript
fixed失效,css堆叠上下文问题
我们直接用具体案例来体会css堆叠上下文,因为官方veurpess-reco1.x版本,当你开启右侧子菜单时,右侧的子菜单fixed就失效了。
144 0
fixed失效,css堆叠上下文问题
|
前端开发 JavaScript
style样式优先级问题【display:block依旧无法显示DOM元素】
style样式优先级问题【display:block依旧无法显示DOM元素】
155 0
style样式优先级问题【display:block依旧无法显示DOM元素】