使用display inline-block 布局时,出现的间距问题的解决办法和相关说明
在CSS中,块级对象元素会单独占一行显示,多个block元素会各自新起一行。而内联对象元素前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满。
使用 display inline-block 将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。
请大家先看display inline-block 实际应用中的效果
.my-test { width: 100%; height: 50px;} .my-test ul { } .my-test ul li { list-style: none; font-size: 12px; text-align: center; width: 20%; height: 100%; line-height: 50px; background: rgba(0,0,0,.4)} <div class="my-test"> <ul><li>1</li><li>2</li><li>3</li></ul> </div>
增加 display inline-block 样式
.my-test ul li { list-style: none; display: inline-block; vertical-align: middle; font-size: 12px; text-align: center; width: 20%; height: 100%; line-height: 50px; background: rgba(0,0,0,.4)}
这里有一个问题 :
li之间出现了外边距
解决这个问题的办法有两种:
1.li元素之间不换行
<div class="my-test"><ul><li>1</li><li>2</li><li>3</li></ul> </div>
如图,2和3之间未换行,外边距消失。
2.ul设置 font-size:0px;
如图,li之间的外边距都消失了。
继续思考 为什么li之间会出现外边距。
<div class="my-test"><ul id="ulid"><li>1</li><li>2</li><li>3</li></ul> </div>
获取UL的子节点
可以看到,第一个li和第二个li之间有一个text的节点,而第二个li和第三个li之间并没有节点。
这里延伸出来新的问题 1.为何第一个text节点并没有导致第一个li出现外边距 2.text节点为何会导致出现外边距
关于第一个问题,猜测是因为浏览器自动帮忙处理了第一个节点,有知道原理的兄弟,请留言,拜谢。
第二个问题,text节点其实是一个回车,回车会被解析为一个空白符。空白符浏览器是作为一个半角空格来处理的。
.my-test ul {}<div class="my-test"><ul id="ulid"><li>1</li><li>2</li> <li>3</li></ul></div>
在2和3之间手动加入一个空格
出现了外边距
这也解释了为何设置font-size:0之后,间距会消失的情况。
转载于:https://www.cnblogs.com/tmbm/p/10374633.html
使用display inline-block 布局时,出现的间距问题的解决办法和相关说明相关推荐
- [CSS]详解display:inline | block |inline-block的区别
2019独角兽企业重金招聘Python工程师标准>>> [CSS]详解display:inline | block |inline-block的区别[点评网站][发布新闻][申请专栏 ...
- Android应用启动时白色闪屏原因及解决办法
白色闪屏现象: 如果OnCreate().onStart().onResume()中操作太多,耗时较久.那么就会在主界面显示出来之前出现白色闪屏.为了更清晰的看出白色闪屏,这里在代码中执行50000次 ...
- 打开Office时出现“运行时错误91”问题的解决办法
打开Office时出现"运行时错误91"问题的解决办法 一.将 C:/Documents and Settings/All Users/Application Data/Micro ...
- mysql出现1499错误_连接MySQL时出现1449与1045异常解决办法
连接MySQL时出现1449与1045异常解决办法 mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解 ...
- lombok使用中出现继承关系的对象时,出现的问题及解决办法
lombok使用中出现继承关系的对象时,出现的问题及解决办法 参考文章: (1)lombok使用中出现继承关系的对象时,出现的问题及解决办法 (2)https://www.cnblogs.com/h- ...
- python3.8.3下载不了nltk_在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法...
在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法,我刚开始因为不太会用linux命令,所以一直依赖于python 的pip命令,可是怎么都 ...
- Ubuntu连接以太网时显示“设备未托管”的解决办法
Ubuntu连接以太网时显示"设备未托管"的解决办法 故障分析: 电脑之前可能设置过PPOE(有线宽带虚拟拨号),常见为连接校园拨号宽带. 解决办法: 第一步:打开终端 第二步:切 ...
- 12 c for. oracle rac,【案例】Oracle RAC FOR AIX搭建执行root.sh时两次报错的解决办法
天萃荷净 运维DBA反映在aix 5.3 ml6安装10.2.0.1 rac报错0509-036 Cannot load program crsctl.bin because of the follo ...
- Mac cnpm装包时提示Error: EACCES: permission denied解决办法
Cnpm装包时提示Error: EACCES: permission denied解决办法 2018年03月04日 09:31:51 miniminixu 阅读数:1598 版权声明:本文为博主原创文 ...
最新文章
- COSMIC功能规模度量方法
- VTK:Rendering之TransformSphere
- CentOS7——卡在在启动界面
- Linux C中内联汇编的语法格式及使用方法
- php 浏览器 打印控件,JavaScript_JavaScript 实现打印,打印预览,打印设置,WebBrowser是IE内置的浏览器控件 - phpStudy...
- 服务器重启导致无法启动MySQL
- 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第1节 网络通信概述_2_网络通信协议...
- 数值范围_涉及数值范围的答复及撰写建议
- macOS开机启动项设置
- 泰勒公式矩阵形式_雅可比矩阵、黑森矩阵、泰勒展开式
- linux_如何在Linux上配置基于Web的网络流量监控系统
- 360政企安全集团率先获得国家级安全运营资质
- python 提取骨架
- Zabbix实现短信报警
- verilog驱动1602液晶屏
- 使用matplotlib在图片上画框框
- VMware Workstation player16 虚拟机添加usb无线网卡
- ubuntu12.04安装puppet foreman
- 华为存储S2600V3操作指导书
- 笔记本计算机点管理点不开,电脑黑屏只有鼠标箭头任务管理器打不开 怎么解决...
热门文章
- How to use SAP CRM price determination in Quotation scenario
- SAP透明工厂和弹性制造的原型mockup - SAP 工业 4.0 的一个尝试
- 我用ABAP做过的那些无聊的事情
- 如何在Chrome development tool里查看C4C前台发送的未经 GZIP 压缩之前的请求细节
- 战网服务器修改 win8,如何修改战网客户端?修改战网客户端的方法
- logstash接收多台服务器日志_Logstash实践: 分布式系统的日志监控
- 我要回家软件_超4成受访网友认可候补购票:抢票软件难了,还是12306靠谱
- php万年历上个月下个月,php 万年历
- java外围设计_Java 编程(23 种设计模式)
- xampp mysql创建表_xampp怎样创建数据表和删除数据表 来学习吧