解决inline-block的空白间距问题

一、问题描述

今天使用了inline-block代替了float的浮动效果,超方便的!


出现问题后百度了下原因,使用inline-block时换行显示和空格都会产生空白。。。于是尝试了各种办法去掉空白间距。

二、解决方案

1、修改html方法

由于标签之间存在空格,所以元素间有空白。如下:

(1)去掉标签间的空格;



空白间距果然消失了,但是这样代码的可读性较差,所以不建议使用。

(2)结束标签的“>”成了另一行的起始标签;



(3)将文字性内容作为下一行的开头;


(4)注释法;


虽然修改html的方法可以解决之一问题,但也只是用于静态的写法,若html不是自己写的,而是后台生成的标签,那可就有点小麻烦了。除了修改html的方法外,设置css的margin也同样可以解决这一问题。

2、css之margin负值

margin负值的大小与上下文的字体和文字大小相关。



这种解决方法并不完美,如果父元素的字号设置的不一样那么margin的值相对的也会改变,如果使用Chrome打开的话margin需要设置另外一个负值来解决。

3、设置父元素的字号为0



设置font-size:0也可以解决这一问题,在Chrome、Firefox等浏览器下都达到了效果,但在Safari下依然存在问题。

4、丢失结束标签

这一方法依然是在html上做修改


虽然写法怪怪的,但是是ok的!

5、使用letter-spacing


letter-spacing(字符间距),基本浏览器都能搞定,不过Opera浏览器下有些问题:最小间距1px,再小的话就会还原了。

6、使用word-spacing


使用word-spacing(单词间距)在chorme上设置后还会存在间距,可以添加display:table或display:inline-table 间距问题就解决啦!


7、组合方法

使用以上6中css的组合方法也能解决这个问题,具体的事例就不粘出来了,大家可以自己试试哦~

三、结束语

解决inline-block的空白间距方法有很多种,除了上面所说的方法,还在别的博客上看过使用jquery的方法,但是没有尝试成功,感兴趣的朋友可以试试的!总的来说,各种方法都有利弊,选择合适的方法解决当下面临的问题吧~



















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值