zoukankan      html  css  js  c++  java
  • display:inline-block,block,inline的区别与用法

    一、首先要了解什么是块级元素与行级元素

    块级元素

    会占领页面的一行,其后多个block元素自动换行、 可以设置width,height,设置了width后同样也占领一行、同样也可以设置   margin与padding属性。

    ps:常见的块级元素:div,img,ul,form,p等

    行级元素

    与其他元素在同一行上,高度,行高以及底边距不可改变,高度就是内容文字或者图片的宽度,不可以改变。

    ps:em,strong,br,input等

    display:inline-block,block,inline元素的区别

    1、display:block将元素显示为块级元素,从而可以更好地操控元素的宽高,以及内外边距,每一个块级元素都是从新的一行开始。

    2、display : inline将元素显示为行内元素,高度,行高以及底边距不可改变,高度就是内容文字或者图片的宽度,不可以改变。多个相邻的行内元素排在同一行里,知道页面一行排列不下,才会换新的一行。

    3、display:inline-block看上去值名inline-block是一个混合产物,实际上确是如此,将元素显示为行内块状元素,设置该属性后,其他的行内块级元素会排列在同一行。比如我们li元素一个inline-block,使其既有block的宽度高度特性,又有inline的同行特性,在同一行内有不同高度内容的元素时,通常要设置对齐方式如vertical-align: top;来使元素顶部对齐。

    例:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>display:inline-block</title>
        <style type="text/css">
            li{
                width:200px;
                text-align: center;
                list-style: none;
                display: inline-block;
                background-color: #eee;
            }
        </style>
    </head>
    <body>
     <ul>
         <li><a href="#">inline-block</a></li>
         <li><a href="#">inline-block</a></li>
         <li><a href="#">inline-block</a></li>
         <li><a href="#">inline-block</a></li>
         <li><a href="#">inline-block</a></li>
     </ul>
    </body>
    </html>

    display:inline-block,block,inline示例

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #inline p{
                display: inline;
                background-color:red ;
                width:300px;/*这里设置无用*/
            }
            #inline-block p{
                display: inline-block;
                background-color:red ;
                width:100px;
                padding:10px;
            }
            #block p{
                display: block;
                background-color: red;
                width:100px;
                padding:20px;
            }
            div{
                margin:20px;
                background-color: #eee;
            }
        </style>
    </head>
    <body>
         <div id="inline">
            display:inline 在同一行,并且宽度就等于文字内容的宽度且设置宽度无用<p>内容内容内容内容内容内容内容</p>内容内容内容内容内容内容
         </div>
         <div id="inline-block">
            display:inline-block  既有行级元素的特性,也有块级元素的特性,因此在同一行,能设置宽高,margin,padding<p>内容内容内容内容内容内容内容</p>内容内容内容内容内容内容
         </div>
         <div id="block">
            display:block 块级元素会自动换新行,占领一行,可以设置宽高,margin,padding <p>内容内容内容内容内容内容内容</p>内容内容内容内容内容内容
         </div>
    </body>
    </html>

     需要注意的是:

    低版本的ie浏览器(ie6 ie7)是不支持display:inline-block;所以理论上ie是不识别的,但是在 ie 内核下有个部分叫做 hasLayout,只要触发了它,这个元素就可以设置高宽从而使行级元素拥有了display:inline-block属性的表象。

  • 相关阅读:
    hdoj 2803 The MAX【简单规律题】
    hdoj 2579 Dating with girls(2)【三重数组标记去重】
    hdoj 1495 非常可乐【bfs隐式图】
    poj 1149 PIGS【最大流经典建图】
    poj 3281 Dining【拆点网络流】
    hdoj 3572 Task Schedule【建立超级源点超级汇点】
    hdoj 1532 Drainage Ditches【最大流模板题】
    poj 1459 Power Network【建立超级源点,超级汇点】
    hdoj 3861 The King’s Problem【强连通缩点建图&&最小路径覆盖】
    hdoj 1012 u Calculate e
  • 原文地址:https://www.cnblogs.com/hy-sunny/p/5602236.html
Copyright © 2011-2022 走看看