博主信息
博文 100
粉丝 8
评论 2
访问量 174789
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
css设置了 display:inline-block 的块元素之间空白间隙处理办法
lilove的博客
原创
2609人浏览过

我们在html页面样式表中使用:

display:inline-block;

案例代码:

  • css结构:
  1. * {
  2. margin: 0;
  3. padding: 0;
  4. box-sizing: border-box;
  5. }
  6. .container {
  7. width: 500px;
  8. margin: 100px auto;
  9. border: 1px solid black;
  10. }
  11. .tabs {
  12. width: 300px;
  13. font-size: large;
  14. }
  15. .tabs>p {
  16. width: 80px;
  17. display: inline-block;
  18. background-color: lightblue;
  19. text-align: center;
  20. }
  • html结构:
  1. <div class="container">
  2. <div class="tabs">
  3. <p>选项卡1</p>
  4. <p>选项卡2</p>
  5. <p>选项卡3</p>
  6. </div>
  7. </div>
  • 发现网页上明明没有设置间隙, .tabs 下的 p 之间出现了间隙:

  • 这是为什么呢?

  • 原来,html解析 inline-block 元素的时候会将元素之间的 空格、换行等white-space (默认是normal,合并空白符)的方式合并成一个空白符,形成了随字体大小变化的间隙。

那么如何解决这个问题呢?

1. 使用空白注释(此方法降低html代码可读性不推荐):

  • 在有间隙的标签之间加上 <--...-->
  1. <div class="container">
  2. <div class="tabs"><!--
  3. --><p>选项卡1</p><!--
  4. --><p>选项卡2</p><!--
  5. --><p>选项卡3</p>
  6. </div>
  • 效果:


2.在父元素上设置:font-size:0; 后,再单独设置有间隙的子元素字体大小:

  1. .tabs {
  2. width: 300px;
  3. font-size: 0;
  4. }
  5. .tabs>p {
  6. width: 80px;
  7. display: inline-block;
  8. background-color: lightblue;
  9. text-align: center;
  10. font-size: 16px;
  11. }
  • 效果:


3.设置 margin 负值抵消空白区域(不推荐,掌握不好空隙宽度)

4.有间隙的元素设置 float(浮动) (极不推荐,会破坏文档流,如果使用浮动也没必要设置inline-block了)

5.设置父元素的 letter-spacingword-spacing 为负值,再设置子元素为0

  1. .tabs {
  2. width: 300px;
  3. /* padding: 10px; */
  4. letter-spacing: -0.5em;
  5. word-spacing: -0.5em;
  6. }
  7. .tabs>p {
  8. width: 80px;
  9. display: inline-block;
  10. background-color: lightblue;
  11. text-align: center;
  12. letter-spacing: 0;
  13. word-spacing: 0;
  14. }
  • 效果

以上就是消除 inline-block 块元素之间间隙的方法。

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学