標(biāo)準(zhǔn)盒模型和IE盒模型

前言

盒模型是CSS中一個(gè)十分重要的概念,掌握好它對(duì)網(wǎng)站的構(gòu)建有十分深刻的作用。

盒子模型可分為兩種,標(biāo)準(zhǔn)w3c盒模型以及IE盒模型。這篇文章就是探討這兩者以及具體應(yīng)用。


盒模型

html文檔中的每個(gè)元素都被描繪成矩形盒子,這些矩形盒子通過(guò)一個(gè)模型來(lái)描述其占用空間,這個(gè)模型稱為盒模型。

盒模型通過(guò)四個(gè)邊界來(lái)描述:margin(外邊距),border(邊框),padding(內(nèi)邊距),content(內(nèi)容區(qū)域)

IE盒模型

概念: ie 盒子模型的范圍包括 margin、border、padding、content,和標(biāo)準(zhǔn) w3c 盒子模型不同的是:ie 盒子模型的 content 部分包含了 border 和 pading。

IE盒模型

例如一個(gè)盒子模型如下:margin:40px,border:20px,padding:20px;width:200px;height:100px;
則用IE盒模型來(lái)解釋為:
該盒子在網(wǎng)頁(yè)中占據(jù)的大小有:
高:40x2+100=180px
寬:40x2+200=280px
盒子的實(shí)際大小為:高:100px;寬:200px;

標(biāo)準(zhǔn)盒模型

概念:盒子模型的范圍包括 margin、border、padding、content,并且 content 部分不包含其他部分。


標(biāo)準(zhǔn)盒模型

如上面的盒子模型:
margin:40px,border:20px,padding:20px;width:200px;height:100px;
則用w3c標(biāo)準(zhǔn)盒模型解釋:
該盒子在網(wǎng)頁(yè)中占用大?。?br> 高:40x2+20x2+20x2+100=260px
寬:40x2+20x2+20x2+200=360px
盒模型實(shí)際大小:
高:20x2+20x2+100=180px
寬:20x2+20x2+200=280px

標(biāo)準(zhǔn)盒模型的幾項(xiàng)注意
  1. padding,border,margin都是可選的,默認(rèn)值為0,但是瀏覽器會(huì)自行設(shè)置元素的margin和padding,則可以通過(guò)以下方式覆蓋瀏覽器樣式。注意:這里的*表示所有元素,但是這樣性能不好,建議依次列出常用的元素來(lái)設(shè)置。
*{
     margin:0;
     padding:0
 }
  1. 如果給元素設(shè)置背景,并且邊框的顏色為透明,背景將應(yīng)用于內(nèi)容,內(nèi)邊距和邊框組成的區(qū)域。

  2. 水平格式化
    水平格式化的7大屬性是:margin-left,border-left,padding-left,width,padding-right,border-right,margin-right。這7個(gè)屬性值加起來(lái)往往是父級(jí)元素的width值。
    其中margin-left,width,margin-right可以設(shè)置為auto
    1.當(dāng)其中一個(gè)設(shè)置為auto時(shí),即其余兩個(gè)屬性有特定值,那么被設(shè)置為auto的屬性會(huì)被拉伸或縮小至與父元素的寬相等。
    2.當(dāng)margin-leftmargin-right設(shè)置為auto時(shí),則這是一種令塊級(jí)元素水平居中的方式。
    3.當(dāng)widthmargin-left或者margin-right設(shè)置為auto,則margin-leftmargin-right為 0,width會(huì)滿足父元素的寬。

  3. 垂直格式化
    垂直格式化與水平格式化的屬性類似,即是對(duì)應(yīng)的topbottom,同樣可設(shè)置margin-top、heightmargin-bottom。
    1.不能將margin-topmargin-bottom設(shè)置為auto來(lái)使元素垂直居中
    2.垂直外邊距合并:兩個(gè)外邊距之和應(yīng)為30px;但實(shí)際上只取最大的邊距20px
    html

    <div class="m20"> 外邊距20px </div>
    <div class="m10"> 外邊距10px </div>
    

    css

    .m20 { margin: 20px; }
    .m10 { margin: 10px; }
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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