消除两个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. 绝对还有其它的方式,欢迎各位积极留言

相关文章
|
9月前
|
JavaScript 算法
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
|
9月前
|
Web App开发 前端开发 iOS开发
fixed固定定位transofrm失效的解决
fixed固定定位transofrm失效的解决
64 0
|
6月前
|
前端开发
如何消除li和ul之间的空隙、如何使div中的内容居中
这篇文章介绍了如何美化网页元素,包括设置登录页面的模糊背景效果,使用CSS的`opacity`属性;以及如何使`div`中的内容水平居中,通过设置`margin: auto;`。此外,还讲解了如何消除`li`和`ul`之间的空隙,通过将`ul`和`li`的`padding`和`margin`设置为0。
如何消除li和ul之间的空隙、如何使div中的内容居中
|
前端开发 JavaScript 容器
display有哪些值?说明他们的作用?
display有哪些值?说明他们的作用?
193 0
|
9月前
|
前端开发
去除 inline-block 元素间间距的方法
去除 inline-block 元素间间距的方法
|
9月前
h264 h265 nal type计算方式 关键帧判断
h264 h265 nal type计算方式 关键帧判断
207 0
|
9月前
|
算法 测试技术
class062 宽度优先遍历及其扩展【算法】
class062 宽度优先遍历及其扩展【算法】
61 0
|
前端开发
|
C语言
分段函数求法(if和switch)
分段函数求法(if和switch)
215 0
|
搜索推荐 前端开发 JavaScript
meta标签有哪些属性和属性值?li设为行内块时有间隙怎么办?call、apply和bind的作用和区别?
`meta`标签可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。`meta`标签位于文档的头部,不包含任何内容。`meta`标签的属性定义了与文档相关联的名称/值对。