inline-block和float的共性和区别

在我们平时工作中,经常会遇到把一些块状元素在一行排列显示,这时候我们通常会用到flaot,或许会用inline-block等等,那么他们有什么共性和区别?适用在什么场景?

共性:

①inline-block: 是把一个元素的display设置为块状内联元素,意思就是说,让一个元素的容器inline展示,并且里面的内容block展示;inline属性使元素内联展示,内联元素设置宽度无效,相邻的inline元素会在一行显示不换行,直到本行排满为止。block的元素始终会独占一行,呈块状显示,可设置宽高。所以inline-block的元素就是宽高可设置,相邻的元素会在一行显示,直到本行排满,也就是让元素的容器属性为block,内容为inline。

②float: 设置元素的浮动为左或者右浮动,当设置元素浮动时,相邻元素会根据自身大小,排满一行,如果父容器宽度不够则会换行。当我们设置了元素的浮动时,这个元素就脱离了文档流,相邻元素会呈环绕装排列。

两者共同点是都可以实现元素在一行显示,并且可以自由设置元素大小。

区别:

①inline-block: 水平排列一行,即使元素高度不一,也会以高度最大的元素高度为行高,即使高度小的元素周围留空,也不回有第二行元素上浮补位。可以设置默认的垂直对齐基线。

②float: 让元素脱离当前文档流,呈环绕装排列,如遇上行有空白,而当前元素大小可以挤进去,这个元素会在上行补位排列。默认是顶部对齐。

场景:

①inline-block: 当我们要设置某些元素在一行显示,并且排列方向一致的情况下,我们尽可能去用inline-block。因为inline-block的元素仍然在当前文档流里面,这样就减少了程序对DOM的更改操作,因为DOM的每一次更改,浏览器会重绘DOM树。理论上会增加性能消耗。这样也不用像flaot那样麻烦,需要清除flaot.

②float: 即使inline-block为布局首选,但是也有inline-block所不能涉及的一些业务需求,比如:有两个元素,我们需要一个向左,一个向右排列,这时候我们就只能用float来实现,对于新手来说,会纠结float不好调,比较麻烦,想到达到预期效果,需要多次调整,有时候我们给元素设置了浮动,元素显示的顺序却变了,一时搞不清楚就改变HTML中元素的前后顺序等等。因为浏览器的解析顺序是逐行解析,当设置两个元素的右浮动时,顺序在前面的元素会先被解析,他是右浮动,那么在前边的元素就先往右浮动占位置,后边的元素依次被解析到以后,才往右排列,这样我们看到的顺序就是反的,当弄明白原因之后,调试就方便多了。

时间: 2024-10-09 19:31:16

inline-block和float的共性和区别的相关文章

block(块级元素)和 inline(内联元素) 的区别

<td style="word-break:break-all"> 强制换行 <td  style="width:80px;display:block;boverflow: hidden;">超出隐藏,注意要设置宽度. 内联转化为块状:display:block 或 float:left / right 块状转化为内联:display:inline; 但是要注意内联元素是不能设置宽度和高度的.那就要强制把内联元素转换为块级元素了 div这样的

CSS display:inline|block|inline-block差异

display:inline|block|inline-block三属性的区别和联系,block就是将元素显示为块级元素,inline就是将元素 显示为行内元素,CSS display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递.旁边的内联对象会被呈递在同一行内,允许空格. 详解CSS display:inline|block|inline-block的区别 ◆CSS display:block CSS display:block就是将元素显示为块级元素. blo

float与定位的区别

float和绝对定位的区别 CSS中脱离文档流,也就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位.1 需要注意的是,使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围. 而对于使用absolute positioning脱离文档流的元素,其他盒子与其他盒子内的文本都会无视它.--------------------- https://blog.csdn.net/a819465103/artic

关于block和inline元素的float

CSS float 浮动属性 本篇主要介绍float属性:定义元素朝哪个方向浮动. 目录 1. 页面布局方式:介绍文档流.浮动层以及float属性. 2. float:left :介绍float为 left 时的布局方式. 3. float:right :介绍float为 right 时的布局方式. 4. 相邻元素含有float属性:介绍相邻元素含有float属性时的布局方式. 1. 页面布局方式 页面布局方式,主要包含:文档流.浮动层.float属性. 1.1 文档流 HTML页面的标准文档流

float和position的区别(转)

相同:设置后,对应的模块都会脱离文档流不同点:position相应的块级元素会覆盖下面的内容(文字,),而float只会覆盖块级元素,里面的文字会脱离 出来 float是浮动定位,position是绝对定位 文档流是文档中可显示对象在排列时所占用的位置. 快级元素 在做页面布局的时候,一般会将html元素分为两种,即块级元素和行内元素. 一.块级元素:block element 每个块级元素默认占一行高度,一行内添加一个块级元素后无法一般无法添加其他元素(float浮动后除外).两个块级元素连续

inline,block,inline-block解析

display:block就是将元素显示为块级元素. block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都可控制: 宽度缺省是它的容器的100%,除非设定一个宽度 <div>, <p>, <h1>, <form>, <ul> 和 <li>是块元素的例子. display:inline就是将元素显示为行内元素. inline元素的特点是:  和其他元素都在一行上: 高,行高及顶和底边距不可改变: 宽度就是它的文字或图

inline block inline-block总结

一.block表示块级元素,其元素通常会单独成一块,独占一行: 二.inline表示内联元素,不会产生换行,其排版会在一行显示,直到一行被占满. 三.常见的块级元素有 DIV, FORM, TABLE, P, PRE, H1~H6, DL, OL, UL 等:常见的内联元素有 SPAN, A, STRONG, EM, LABEL, INPUT, SELECT, TEXTAREA, IMG, BR        等. 四.一般使用display:block与display:inline来改变元素的

display:inline/block/inline-block

display:inline; 内联元素,简单来说就是在同一行显示.display:block; 块级元素,简单来说就是就是有换行,会换到第二行.display:inline-block; 就是在同一行内的块级元素. 说概念太模糊,来个真实案例吧. <a href="#" style="display:inline;width:100px;height:100px;background:#ccc;">链接一</a><a href=&qu

通知,代理,block 单例的使用和区别

区别 1.NotificationCenter 通知中心:“一对多”,在APP中,很多控制器都需要知道一个事件,应该用通知: 2.delegate 代理委托: 1,“一对一”,对同一个协议,一个对象只能设置一个代理delegate,所以单例对象就不能用代理: 2,代理更注重过程信息的传输:比如发起一个网络请求,可能想要知道此时请求是否已经开始.是否收到了数据.数据是否已经接受完成.数据接收失败 3.block(闭包) block和delegate一样,一般都是“一对一”之间通信交互,相比代理bl