博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
inline-block元素间距问题的几种解决方案
阅读量:6081 次
发布时间:2019-06-20

本文共 1939 字,大约阅读时间需要 6 分钟。

 
 不知道大家有没有碰到过设置了display:inline-block;的几个相邻元素之间有几px间距的问题,这里提供几种简单实用的解决方法,希望能够帮到大家!
 
  
方法1. 将<li>标签之间的空格与换行全部去掉,这也是我比较常用的一种方法
  原html代码:
  • 控球后卫
  • 得分后卫
  • 小前锋
  • 大前锋
  • 中锋

  css代码:

* {
margin: 0; padding: 0; box-sizing: border-box;}body {
background: #bbb;}ul {
list-style: none; width: 800px; height: 40px; background: #BF0D0D; font-size: 20px; color: #fff; line-height: 40px; margin: 50px;}ul li {
display: inline-block; width: 160px; text-align: center; border-right: 1px solid #8E0303;}ul li:last-child {
border-right: none;}

  运行效果:

  我们发现li的宽度160px乘以5不就等于ul的宽度800px吗,那为什么“中锋”这个li还被挤下来了,难道是小球时代传统中锋被集体抛弃的原因吗?哈哈当然不是,这其实是由于inline-block的特性导致,只要是存在空格或者换行的相邻inline-block元素,显示出来就会有几个px的间距。那我们对html结构作以修改:
  • 控球后卫
  • 得分后卫
  • 小前锋
  • 大前锋
  • 中锋
  改成这样之后我们发现中锋又回去了:
  但是将他们都放在一行的这种做法非常影响代码的可读性,我们可以将它改成这样:
  • 控球后卫
  • 得分后卫
  • 小前锋
  • 大前锋
  • 中锋
  也就是在相邻的元素之间加上空白的html注释,变相地取消了他们之间的空白节点。还有其他的几种改法这里不一一列举,大家也可以自由发挥,只要是取消了相邻元素之间的空白节点就能达到目的。
 
  
方法2. 去掉结束标签
  如下:
  • 控球后卫
  • 得分后卫
  • 小前锋
  • 大前锋
  • 中锋
  这样也能得到理想中的结果,但如果要兼容低版本IE,最后一个列表项的结束标签还是要加上的。
 
  
方法3. 使用负边距
  改动代码如下,其他代码不变:
ul li {
display: inline-block; width: 160px; text-align: center; border-right: 1px solid #8E0303; margin-right: -10px;}ul li:last-child {
border-right: none; margin-right: 0;}
  这样也能解决问题,其中,margin-right的大小并不是固定的,它和字体大小以及字体都有关系,大家可以查阅张鑫旭老师的一篇博客( )中第六部分的表格,也可以在自己的代码中进行试验,直到试出合适的值为止。
   这几种方法基本上能够解决实际开发当中的大部分问题,当然还有许多其它的解决方案,也欢迎大家留下更加神奇的方法!

转载于:https://www.cnblogs.com/zhouhuan/p/inline_block_space.html

你可能感兴趣的文章
3.5万个MongoDB数据库的约680TB数据存被盗风险!
查看>>
【原创】RabbitMQ 之 HTTP server 插件(翻译)
查看>>
php跨平台总结 常用预定义常量
查看>>
linux 下 apache启动、停止、重启命令
查看>>
阿里云网络系列之经典网络和专有网络
查看>>
建模:设计和UML的那点事
查看>>
百度搜索引擎只收录网站首页的原因
查看>>
Axis2-WebService框架的学习心得-01
查看>>
使用exp/imp来移动表空间到另一个数据库中的例子
查看>>
第一天:了解思维导图
查看>>
android GPS定位代码
查看>>
MySQL内核月报 2015.01-MySQL · 性能优化· Group Commit优化
查看>>
《卸甲笔记》-PostgreSQL和Oracle的数据类型的对比系列三:时间类型
查看>>
[网摘][批处理]批处理学习之一
查看>>
php中文支持函数
查看>>
聊聊高并发系统之限流特技-2
查看>>
传统的数组常规操作(JAVA实现)
查看>>
Deploy BCS in VS2010 Issue
查看>>
【MySQL】浅谈 varchar(N)
查看>>
iOS循环引用问题
查看>>