!
也想出现在这里? 联系我们
广告位

Span之间空隙原因和解决办法

span 之间的空隙,到底是什么?display:inline-block 的元素虽然能够处于同一行,但是很变态的是它们之间出现了空格,如何处理?
(例如在浮动元素居中当中,我们必须使用 display:inline-block)

实例代码

  1. <html>
  2. <head>
  3. <meta charset="UTF-8"/>
  4. <title>内敛元素的间隙-独行冰海</title>
  5. <style>
  6. *{margin: 0;padding: 0;}
  7. .con{
  8. width: 300px;
  9. height: 24px;
  10. margin: 10px auto;
  11. border: 1px solid #f00;
  12. font-size: 14px;
  13. line-height: 24px;
  14. }
  15. span{
  16. border-right: 1px solid #00f;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <div class="con">
  22. <span>独行冰海</span>
  23. <span>内联元素</span>
  24. <span>小空隙</span>
  25. </div>
  26. </body>
  27. </html>

 

独行冰海
内联元素
小空隙

左侧有明显的空隙如下图:
Span之间空隙原因和解决办法

形成原因

内联元素在 html 中换行的同时会产生一个文本节点,可以使用负值的 margin-right 或者 letter-spacing + word-spacing 来解决这个问题,或者使用 float,不考虑 chrome 可使用 font-size 基本解决。

独行冰海
内联元素
小空隙

浮动之后:

inline-block 用于块对象的横向排列(如图片组),其有着一些 float 不可替代的作用(如不错位、可垂直居中等),但在实际应用中,还是存在一个很纠结的弊端,有缝。

解决方法

1. 缝隙的宽度与文字大小相关,缝隙就如同一个文本节点,字越大,缝隙也就越大。

2. 这个文本节点是由于换行产生的,故,如果 span 和 span 之间或 li 与 li 之间不存在换行,那就没必要这么罗嗦了。

3. 示例中采用了 font-family:’微软雅黑’(也可以是 simsun-宋体),这是因为在等宽字体的情况下,各浏览器对这个文本节点的宽度就很一致了:0.5em

给TA打赏
共{{data.count}}人
人已打赏
前端学习

通过 CSS自定义属性(CSS变量)和 JavaScript 实现高级CSS主题切换

2024-11-8 10:46:44

前端学习

原生态js方法实现全选复制功能

2024-11-8 10:46:47

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索