布局-display用法以及特性

什么是布局?

  • 將元素以正確大小擺放在正確的位置上
  • 元素的擺放模式

display

  • 設(shè)置元素的顯示方式
  • display: block | inline | inline-block | none

display:block

  • 默認(rèn)寬度為父元素寬度(影響大小)
  • 可設(shè)置寬高(影響大小)
  • 換行顯示(影響位置)

默認(rèn)塊級元素:div p h1-h6 ul form...

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>display block</title>
    <style>
        .sample{background-color: pink}
        
        .sample{width: 200px;height: 200px;}  /*可設(shè)置寬高*/
    </style>
</head>
<body>
    <span>before block</span>
    <div class="sample">display:block;</div>
    <div>after block</div>
</body>
</html>

display:inline

  • 默認(rèn)寬度為內(nèi)容寬度
  • 不可設(shè)置寬高
  • 同行顯示

默認(rèn)行內(nèi)元素: span a label cite em...

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>display inline</title>
    <style>
        .sample{background-color: pink}
            
        .sample{width: 200px;height: 200px;} 
        em{display: block;}
    </style>
</head>
<body>
    <span>before inline</span>
    <span class="sample">display:inline;</span>
    <em>after inline</em>
</body>
</html>

display:inline-block

  • 默認(rèn)寬度為內(nèi)容寬度
  • 可以設(shè)置寬高
  • 同行顯示
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>display inline-block</title>
    <style>
        .sample{background-color: pink}
            
        .sample{display: inline-block;}
        .sample{width: 200px;height: 200px;}
        .sample{vertical-align: middle;}
    </style>
</head>
<body>
    <span>before inline-block</span>
    <span class="sample">display:inline-block;</span>
    <em>after inline-block</em>
</body>
</html>

display:none

  • 設(shè)置元素不顯示

display:none vs visibility:hidden

  • display:none 不顯示也不再原來的位置
  • visibility:hidden 只是隱藏還在原來的位置
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>display none demo</title>
    <style>
        .parent{margin: 30px;border: 1px solid pink;}
            
        /*.dn{display: none;}*/
        /*.vh{visibility: hidden;}*/
    </style>
</head>
<body>
    <div class="parent">
        <div class="dn">display: none</div>
    </div>
    <div class="parent">
        <div class="vh">visibility: hidden</div>
    </div>
</body>
</html>

布局-塊級元素水平居中

margin:auto;

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>塊級元素的水平居中</title>
    <style>
        .content{width: 300px;height: 300px;background-color: pink;}

        .content{margin:0 auto;}
    </style>
</head>
<body>
    <div>
      <div class="content">content area</div>
    </div>
</body>
</html>

布局-居中導(dǎo)航

display:inline-block

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>居中導(dǎo)航</title>
    <style>
        ul{text-align: center;height: 30px;line-height: 30px;background-color: #f00;}
        li, a{display: inline-block;width: 80px;height: 100%;}
        li{margin: 0 5px;list-style: none;}
        a, a:hover, li.cur a{color: #fff;text-decoration: none;}
        a:hover, li.cur a{background-color: #c00}
    </style>
</head>
<body>
    <ul class="m-nav">
      <li><a href="#">推薦</a></li>
      <li class="cur"><a href="#">歌單</a></li>
      <li><a href="#">大牌DJ</a></li>
      <li><a href="#">歌手</a></li>
      <li><a href="#">新碟上架</a></li>
    </ul> 
</body>
</html>
居中導(dǎo)航

如何實(shí)現(xiàn)瀏覽器兼容版的inline-block顯示
display:inline-block;ie6、ie7下只有設(shè)置在默認(rèn)顯示方式為inline的元素上才會生效,請實(shí)現(xiàn)兼容ie6、ie7的通用的方式。

1?先使用display:inline-block,再使用display:inline;
div {
  display:inline-block;
}
div {
  display:inline;
}

2?先讓塊元素變?yōu)閮?nèi)聯(lián),再使用(zoom:1 或float屬性等)觸發(fā)塊元素layout;
div{  
    display:inline-block; 
    *display:inline;
    *zoom:1;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,118評論 1 92
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁面在哪些流覽器測試過?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,369評論 0 8
  • 一:在制作一個Web應(yīng)用或Web站點(diǎn)的過程中,你是如何考慮他的UI、安全性、高性能、SEO、可維護(hù)性以及技術(shù)因素的...
    Arno_z閱讀 1,361評論 0 1
  • 網(wǎng)頁的布局其實(shí)在我理解起來,就類似于排版的問題。有點(diǎn)像平面設(shè)計(jì)中的內(nèi)容排版。只不過平面設(shè)計(jì)中的排版是在photos...
    荷小音閱讀 933評論 0 2
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,817評論 1 19

友情鏈接更多精彩內(nèi)容