博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对inline-block的一点总结
阅读量:7220 次
发布时间:2019-06-29

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

1. 概念

block是块级元素,inline是行内元素,而inline-block则是让元素既可以像块级元素那样,可以设置宽度和高度,又能像行内元素那样,让具有宽高的这些元素排列在一行内

ul{	background: red;	margin: 50px;}	li{	list-style-type: none;	display: inline-block;	background: gray;	color: white;	font-size: 16pt;	width:100px;}/*html*/
  • 1111
  • 2222
  • 3333
  • 4444
  • 5555
  • 6666
复制代码

通过代码结果可知,ul是块级元素,而li是行内元素,但具有宽度

应用:

  1. 可以用在导航栏、菜单上,代替浮动方法带来的父元素高度塌陷
  2. 可以用在作为按钮的a链接上,使按钮与文档在同一行内

2. 高度特性

2.1

代码与1点相同,给第一个li标签增加css属性:

li:first-child{	background: black;	height: 50px;}复制代码

由于ul的高度没有设置,所以由ul里的li撑起,且取决于高度最大的li

2.2

ul{	background: red;	margin: 50px;}li{	list-style-type: none;	display: inline-block;	background: gray;	color: white;	font-size: 16pt;	width: 300px;}/*html*/
  • 1111
  • 2222
  • 3333
  • 4444
  • 5555
  • 6666
  • 7777
复制代码

给第三个li标签添加了50px的高度

可以看到,在ul元素内,li在一行放不下的情况下, 会排列到第二行,并且第一行的高度由高度最大的li决定。inline-block的排列不像浮动那样,浮动元素会卡在高度过大的中间元素处

3. inline-block元素间的换行符产生的间隙

通过上面的例子,可以发现每个li元素之间都会有一个小间隔,而这些间隔是由html代码中的换行产生的

解决办法

3.1

把li标签之间的空格去掉

  • 1111
  • 2222
  • 3333
  • 4444
  • 5555
  • 6666
  • 7777
复制代码

3.2

给父元素添加font-size:0;

(查网上资料,有的说chrome不兼容此方法,但测试是可以的,所以表示疑问?)

转载地址:http://xaaym.baihongyu.com/

你可能感兴趣的文章
centos 7 静态ip地址模板
查看>>
影响系统性能的20个瓶颈
查看>>
shell的详细介绍和编程(上)
查看>>
软件开发性能优化经验总结
查看>>
面试题编程题05-python 有一个无序数组,如何获取第K 大的数,说下思路,实现后的时间复杂度?...
查看>>
kendo grid序号显示
查看>>
Spring 教程(二) 体系结构
查看>>
Indexes
查看>>
2.Web中使用iReport 整合----------创建html格式的
查看>>
异常备忘:java.lang.UnsupportedClassVersionError: Bad version number in .class file
查看>>
最全三大框架整合(使用映射)——applicationContext.xml里面的配置
查看>>
初步理解Java的三大特性——封装、继承和多态
查看>>
知识点积累(一)
查看>>
iphone-common-codes-ccteam源代码 CCFile.m
查看>>
python:浅析python 中__name__ = '__main__' 的作用
查看>>
修改tomcat端口后不能IP访问问题
查看>>
review board
查看>>
URAL 1495 One-two, One-two 2
查看>>
牛客国庆集训派对Day3 G Stones
查看>>
虚函数简单总结
查看>>