如何去除span之间的间隙bug
不知道大家有没有这样的经历,我们把 2 个 span 写在一起的时候,在页面上会发现他们之间有一段间隙,这是什么原因呢?先不要着急往下看我的解决方法,自己先想一下,也许你想到的比我的方法会更好。
先上一张效果图:
![]()
HTML 代码:
<div class="wrap">Hello, 世界</div>
CSS 代码:
.wrap {
/* font-size: 0; */
background: blue;
}
span {
background: red;
}
这里我并没有对 span 写任何样式,只是加了一个背景颜色,但是为啥会有空隙呢?这是因为我们习惯写完一个元素标签之后就换行,所以那个间隙就是那个”换行”,当然空格也会造成同样效果。那要怎么解决这个问题呢?第一个就是去掉空格或者换行,有时候是最简单的方法有时候也是最麻烦最笨的方法(这里要注意:在火狐或者 safari 下还会有上下空隙,所以这个还是蛋疼的方法,同样下面那个 font-size 为 0 的方法也会有上下空隙,设置浮动和设置 flex 的方法就比较好,没有上下间隙)
最笨的办法,将 span 写在一行:
<div class="wrap"> 你好你好啊 </div>
效果图:

有没有其他方法呢?当然是有的,特别声明:以下介绍的方法 HTML 代码结构都是
<div class="wrap"> 你好 你好啊 </div>
这里推荐三种方法,具体的来看一下
第一种:原理就是讲 font-size 为 0 之后,把那个空格字体大小设置为 0 就看不到了
CSS 代码:
.wrap {
font-size: 0;
background: blue;
}
span {
background: red;
font-size: 16px;
}
第二种方法:原理:利用浮动实现
CSS 代码:
.wrap {
background: blue;
overflow: hidden;
}
span {
background: red;
font-size: 16px;
float: left;
}
第三种方法:原理利用 display:inline-flex/flex,注意都是设置在父元素上,inline-flex 的话父元素就不是 100%宽了,flex 还是 100%宽,而且 flex 的兼容性大家也知道,所以推荐在移动端使用
CSS 代码:
.wrap {
background: blue;
display:flex;
overflow: hidden;
}
span {
background: red;
}
结束语
当然除了上文码云笔记介绍的去除 span 间隙方法外,一定还有更好的方法,暂时就写这么多,小伙伴们有黑科技的欢迎下方留言。
以上关于如何去除span之间的间隙bug的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 如何去除span之间的间隙bug
微信
支付宝