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

相关文章
|
架构师 测试技术 C语言
软件测试的优势和劣势
我们需要对软件测试有清晰的认识。那么作为软件测试,和软件开发相比,又有哪些优势呢?
565 0
|
11月前
|
固态存储 安全 程序员
搭建程序员个人博客网站的服务器配置怎么选?
搭建个人博客网站时,合理选择服务器配置至关重要。推荐1核CPU、2GiB内存、SSD硬盘及2M-10M带宽,适合大多数个人博客。操作系统方面,Linux更为经济高效。建议选择如阿里云等知名云服务商,同时考虑服务器的可扩展性和安全性,确保网站稳定运行与良好体验。
1262 2
|
安全 Unix Linux
Linux系统之passwd命令的基本使用
Linux系统之passwd命令的基本使用
542 1
|
11月前
【高阶数据结构】二叉树进阶探秘:AVL树的平衡机制与实现详解(二)
【高阶数据结构】二叉树进阶探秘:AVL树的平衡机制与实现详解
114 1
|
JSON Java 应用服务中间件
|
Linux 开发工具 Android开发
Bittorrent开源代码软件peer2peer快速下载
Bittorrent是一种基于Peer2Peer(P2P)技术的内容分发协议,使每个参与者既是下载者也是上传者,通过多节点协作而非单一服务器来实现高效文件共享。此模式尤其适用于大文件如游戏、电影、系统镜像的快速传输。例如,在影院影片分发、游戏更新、系统镜像升级等场景中,P2P能显著提高速度并降低成本。此外,在企业网盘、跨平台下载器以及某些视频边下边播的应用中,Bittorrent也能有效减少带宽消耗。点量Bittorrent源码不仅支持Windows、Linux、Android、iOS,还包括麒麟、统信等国产系统,为多种环境提供了成熟解决方案。
188 1
|
机器学习/深度学习 存储
[GESP样题 四级] 填幻方和幸运数
[GESP样题 四级] 填幻方和幸运数
231 1
【LeetCode刷题】前缀和解决问题:742.寻找数组的中心下标、238.除自身以外数组的乘积
【LeetCode刷题】前缀和解决问题:742.寻找数组的中心下标、238.除自身以外数组的乘积
|
存储 编译器
IAT表入门简析【滴水逆向三期52笔记】
IAT表入门简析【滴水逆向三期52笔记】
|
缓存 监控 前端开发
Vue和React对比学习之生命周期函数(Vue2、Vue3、老版React、新版React)
Vue2、Vue3、老版React、新版React生命周期函数
615 0