首页 > web前端 > css教程 > 正文

如何去除CSS的inline-block换行引起的间隙

不言
发布: 2018-11-24 10:39:46
原创
4194人浏览过

对于内联元素和内联块元素的使用存在一个问题,即在显示源代码上存在的换行符时会形成空白,本篇文章将给大家介绍关于如何消除CSS的inline-block换行引起的间隙。  

inline-block使用时出现间隙的原因

inline-block可以像内联元素一样处理,能够简单地进行横排,并且能够给出水平宽度和垂直宽度等。这是一个非常方便的设置,所以可以有很多的用处。

但是与此同时,我们在使用inline-block的过程中经常会遇到所谓间隙的问题,我们来看一个例子

立即学习前端免费学习笔记(深入)”;

HTML

<div class="container">
  <div class="inline-contents"></div>
  <div class="inline-contents"></div>
  <div class="inline-contents"></div>
</div>
登录后复制

CSS

 .container {
  display: block;
  border: 1px #000 solid;
}
.inline-contents {
  width: 33.3333%;
  height: 200px;
  display: inline-block;
  background-color: #66b6d5;
}
登录后复制

效果如下:

2345截图20181124094846.png

从上面的图片我们可以明显的看到右边和下边没有设定数值,却出现了间隙

因此,width : 33.3333%(也就是1 / 3以下)的三个盒子明明应该横排,最后一个盒子却另起一行。

即使此次设置了box-sizing,margin和padding设置为0,也没有变化。

inline - block作为inline元素的侧面不只是「横向排列」的事,也可能会影响诸如font-size和line-height之类的值。

如何消除inline - block的间隙

可以在下面出现的间隙是字母的默认设置,基线如图所示,因此可以使用属性来尝试在下面留一点间隙。

2345截图20181124101609.png

(因此,如果将vertical-align:bottom;应用于.inline-contents,则只会解决下面的间隙问题。)

旁边的间隙是由于之间的改行,所以全部取下来就解决了,但是代码会看起来很,虽然可以在之间写注释,但是可能有点麻烦,其实,只在父元素(.container)中写一个“font-size:0;”的值就解决了。

为什么要说是父元素,因为设定了inline-block的元素本身就具有“字符”的特征。

我们来看一个例子

HTML

<div class="container">
  <div class="inline-contents">aaa
  </div>
  <div class="inline-contents">aaa<br>
    aaa
  </div>
  <div class="inline-contents">aaa</div>
</div>
登录后复制

CSS

.container {
  display: block;
  border: 1px #000 solid;
  font-size: 0; 
}

.inline-contents {
  width: 33.3333%;
  height: 200px;
  display: inline-block;
  background-color: #66b6d5;
  font-size: 16px;
}
登录后复制

在inline-block内输入文字的时候,如果新的inlin-block设定font-size就可以了。

但是,每个盒子中文字的行数不同的话,会发生这样的情况。

2345截图20181124102518.png

在这种情况下,通过将vertical-align:bottom;以及font-size添加到inline-block来解决它。

CSS

.container {
  display: block;
  border: 1px #000 solid;
  font-size: 0; 
}

.inline-contents {
  width: 33.3333%;
  height: 200px;
  display: inline-block;
  background-color: #66b6d5;
  font-size: 16px;
  vertical-align: bottom;
}
登录后复制

效果如下:

2345截图20181124102837.png

本篇文章到这里就全部结束了,更多精彩内容大家可以关注php中文网的CSS视频教程栏目!!!

以上就是如何去除CSS的inline-block换行引起的间隙的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号