一、inline-block呈现效果的现象描述**
真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,很简单的个例子:
二.消除间隙的多种方法**
(1)内联样式的处理
消除间隙一:消掉空格的三种方法
<div class="space">
<a href="">
a1</a><a href="">
a2</a><a href="">
a3</a>
</div>
<div class="space">
<a href="">a1</a
><a href="">a2</a
><a href="">a3</a>
</div>
<div class="space">
<a href="">a1</a><!--
--><a href="">a2</a><!--
--><a href="">a3</a>
</div>
消除间隙二:去掉闭合标签
<div class="space">
<a href="">a1
<a href="">a2
<a href="">a3</a>
</div>
注意,为了向下兼容IE6/IE7等浏览器,最后一个列表的标签的结束(闭合)标签不能丢。在HTML5中,我们直接:全部去掉闭合标签
<div class="space">
<a href="">a1
<a href="">a2
<a href="">a3
</div>
(2)嵌入式CSS的处理
消除间隙一:使用margin负值, (推荐)设置方便
加入以下代码:
.space a{
margin-right: -5px;
/*不同的浏览器选择的margin值不同*/
}
消除间隙二:使用font-size值, 在div和a都设置
.space{
font-size: 0;
/*这个方法,基本上可以解决大部分浏览器下inline-block元素之间的间距*/
/*(IE7等浏览器有时候会有1像素的间距)。不过有个浏览器,就是Chrome, */
/*其默认有最小字体大小限制,因为,考虑到兼容性,我们还需要添加:*/
-webkit-text-size-adjust:none;
/*目前Chrome浏览器已经取消了最小字体限制。因此,*/
/*上面的-webkit-text-size-adjust:none;代码估计时日不多了。*/
}
.space a{
font-size: 12px;
}
消除间隙三:使用letter-spacing,适用大部分浏览器
.space{
letter-spacing: -3px;
}
.space a{
letter-spacing: 0;
}
消除间隙四:使用Word-spacing,适用大部分浏览器
.space{
word-spacing: -3px;
}
.space a{
word-spacing: 0;
}
/*一个是字符间距(letter-spacing)一个是单词间距*/
/*(word-spacing), 大同小异。据我测试,word-spacing的负值只要大到*/
/*一定程度,其兼容性上的差异就可以被忽略。因为,貌似*/
/*,word-spacing即使负值很大,也不会发生重叠。*/
方法就列举这些…
对应代码在博客/inline-block去除间隙
来源:CSDN
作者:丫呀nice
链接:https://blog.csdn.net/weixin_46100406/article/details/103858615