zoukankan      html  css  js  c++  java
  • CSS display:inline和float:left两者区别

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

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

    AD:

    本文和大家重点讨论一下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;300px;background:#f5f5f5;;}  
    24.  
    25. ul#floatli{float:left;display:inline;list-style:none;  
    26.  
    27. border-left:1px#666solid;300px;background:#f5f5f5;}  
    28.  
    29. </style> 
    30.  
    31. </head> 
    32.  
    33. <body> 
    34.  
    35. <spanstylespanstyle="300px;"> 
    36.  
    37. span为内联/inline元素,给他宽度赋值是没有效果的。</span> 
    38.  
    39. <spanstylespanstyle="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> 

    [引用自]:http://developer.51cto.com/art/201009/226630.htm

  • 相关阅读:
    c#之线程池优先级
    c#之线程池
    c# 回调委托
    c# Beginlnvoke 委托
    Qrcode生成二维码支持中文,带图片,带文字
    http://fonts.googleapis.com/css?打开很慢解决方案
    MVC多语言应用
    SQL参数化查询的问题
    MVC:从客户端中检测到有潜在危险的 Request.Form 值 的解决方法
    CSS计数器妙用
  • 原文地址:https://www.cnblogs.com/yongtaiyu/p/3399139.html
Copyright © 2011-2022 走看看