去除inline-block元素间间距

现象描述

真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距:

那么解决此问题有好多种方法,但是个人比较喜欢使用其中两种:如下

由于现在html页面都是使用html5 

所以就使用

1、让闭合标签吃胶囊

如下处理:

<ul class="space">
    <li href="##">去除
    <li href="##">结束
    <li href="##">标签</li>
</ul>

 

注意,为了向下兼容IE6/IE7等喝蒙牛长大的浏览器,最后一个列表的标签的结束(闭合)标签不能丢。

在HTML5中,我们直接:

<ul class="space">
    <li href="##">去除
    <li href="##">结束
    <li href="##">标签
</ul>

 

好吧,虽然感觉上有点怪怪的,但是,这是OK的。但是如果是div标签就不适合此种写法。 

2、使用letter-spacing

类似下面的代码:

.space {
    letter-spacing: -3px;
}
.space li {
    letter-spacing: 0;
}

该方法可以搞定基本上所有浏览器,包括IE6/IE7浏览器,不过Opera浏览器下有蛋疼的问题:最小间距1像素,然后,letter-spacing再小就还原了。

3、最简单的 当然还是写页面的时候不要换行(但是不能保证就没有空格或者后期会不会进行压缩或者格式整理)

<ul class="space"><li href="##">去除<li href="##">结束<li href="##">标签</ul>

 

更多方法 可参照 http://www.zhangxinxu.com/wordpress/2012/04/inline-block-space-remove-%E5%8E%BB%E9%99%A4%E9%97%B4%E8%B7%9D/

posted @   Gaochunling  阅读(115)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示