CSS display:inline和float:left两者区别

开发 前端
CSS display是指显示状态,inline表示内联,而float表示的是浮动,这里向大家描述一下CSS display:inline和float:left两者的区别。

本文和大家重点讨论一下CSS display:inline和float:left两者的区别,CSS display是指显示状态,inline表示内联,特点是紧贴着前一个内联元素,通常默认的内联元素有span,a,em,strong等。而float表示的是浮动,float:left,是针对块级元素的浮动形式,是不同形式的两种状态。

CSS display:inline和float:left两者的区别

CSS display是指显示状态,inline表示内联,特点是紧贴着前一个内联元素,通常默认的内联元素有span,a,em,strong等。而float表示的是浮动,float:left,是针对块级元素的浮动形式,是不同形式的两种状态。

首先我们要明确,CSS display:inline;与float:left;正确含义。CSS display:inline;(内联)《CSS权威指南》中文字显示:任何不是块级元素的可见元素都是内联元素。其表现的特性是“行布局”形式,这里的“行布局”的意思就是说其表现形式始终以行进行显示。比如,我们设定一个内联元素border-bottom:1pxsolid#000;时其表现是以每行进行重复,每一行下方都会有一条黑色的细线。如果是块级元素那么所显示的的黑线只会在块的下方出现。

当然这看起来不像是CSS display:inline;与float:left;的区别所在,但是当理解了float:left;的特性那么我们就清楚到底是怎么回事了。float:left;(左浮动)他使得指定元素脱离普通的文档流而产生的特别的布局特性。并且FLOAT必需应用在块级元素之上,也就是说浮动并不应用于内联标签。或者换句话来说当应用了FLOAT那么这个元素将被指定为块级元素。

那么我们很清楚了,内联(CSS display:inline;)元素不能设置宽高,因为内联属于行布局,其特性是在一行里进行布局,所以不能被设定宽高。

运行代码:

  1. <html> 
  2.  
  3. <head> 
  4.  
  5. <metahttp-equivmetahttp-equiv="Content-Type"
  6. content="text/html;charset=gb2312"/> 
  7.  
  8. <title>float&inline</title> 
  9.  
  10. <style> 
  11.  
  12. *{text-align:center;padding:4px;}  
  13.  
  14. div,p{text-align:left;}  
  15.  
  16. span{background:#f5f5f5;border-left:1px#eeesolid;  
  17.  
  18. border-top:1px#eeesolid;border-right:1px#cccsolid;  
  19.  
  20. border-bottom:1px#cccsolid;}  
  21.  
  22. ul#inlineli{display:inline;list-style:none;
  23. border-left:1px#cccsolid;width:300px;background:#f5f5f5;;}  
  24.  
  25. ul#floatli{float:left;display:inline;list-style:none;  
  26.  
  27. border-left:1px#666solid;width:300px;background:#f5f5f5;}  
  28.  
  29. </style> 
  30.  
  31. </head> 
  32.  
  33. <body> 
  34.  
  35. <spanstylespanstyle="width:300px;"> 
  36.  
  37. span为内联/inline元素,给他宽度赋值是没有效果的。</span> 
  38.  
  39. <spanstylespanstyle="width:100px;float:right;">span为内联/inline元素,  
  40.  
  41. 给他宽度赋值100px+float:right;可以看到有了宽度。</span> 
  42.  
  43. <div> 
  44.  
  45. <p>这个li被定义为内联/inline,设置宽度没有效果</p> 
  46.  
  47. <ulidulid="inline"> 
  48.  
  49. <li>test</li> 
  50.  
  51. <li>test</li> 
  52.  
  53. </ul> 
  54.  
  55. </div> 
  56.  
  57. <div> 
  58.  
  59. <p>这个li被定义为内联/inline+float:left,设置宽度有效果</p> 
  60.  
  61. <ulidulid="float"> 
  62.  
  63. <li>test</li> 
  64.  
  65. <li>test</li> 
  66.  
  67. </ul> 
  68.  
  69. </div> 
  70.  
  71. </body> 
  72.  
  73. </html> 
  74.  

【编辑推荐】

  1. CSS display属性基本特性和语法
  2. 探究CSS hack使用原理 规则及弊端
  3. CSS display属性定义和用法
  4. CSS属性display:inline-block使用揭秘
  5. CSS hack:实现IE6、IE7、Firefox兼容

 

责任编辑:佚名 来源: hi.baidu.com
相关推荐

2010-09-16 09:33:33

CSS displayCSS display

2010-09-16 09:13:09

CSS display

2010-09-14 15:32:51

CSSdisplay:inl

2010-09-03 10:18:06

CSSdisplay:inl

2010-04-16 11:32:29

PGA和UGA

2010-09-16 09:58:44

CSS display

2019-09-26 06:27:59

FTPSFTPTCP

2010-09-09 15:54:00

blockinlineCSS

2010-09-02 12:58:21

display:inlCSS

2010-09-02 09:09:38

display:inlCSS

2022-05-14 16:08:25

边缘计算AI人工智能

2010-08-23 13:21:51

padding-lefpadding-rigCSS

2010-09-14 13:05:10

VisibilityDisplayCSS DIV

2019-02-22 05:23:36

VLANVXLAN网络技术

2018-05-28 09:09:00

机器学习深度学习

2020-11-13 11:49:56

物联网

2022-12-01 11:23:51

5G通信技术

2009-03-03 12:54:58

2020-04-10 21:02:51

人工智能

2010-09-13 12:56:56

CSSpositionfloat
点赞
收藏

51CTO技术栈公众号