盒子模型-怪異模式和標(biāo)準(zhǔn)模式

首先,兩種模式可以利用box-sizing屬性進(jìn)行自行選擇:

標(biāo)準(zhǔn)模式:box-sizing:content-box;

怪異模式:box-sizing:border-box;

兩種模式的區(qū)別:

標(biāo)準(zhǔn)模式會(huì)被設(shè)置的padding撐開,而怪異模式則相當(dāng)于將盒子的大小固定好,再將內(nèi)容裝入盒子。盒子的大小并不會(huì)被padding所撐開。

例:

.box{
box-sizing:border-box; //沒有添加時(shí),按照標(biāo)準(zhǔn)模式計(jì)算, 添加時(shí)按照怪異模式解析
width:200px;
height:200px;
border:2px solid black;
padding:50px;
margin:50px;
}

標(biāo)準(zhǔn)模式:盒子總寬度/高度 = 內(nèi)容區(qū)寬度 /高度+padding+border + margin。效果:


1.png

怪異模式:盒子總寬度/高度=width/height+margin。效果:


2.png

前言

[摘自w3c]http://www.w3school.com.cn/css/css_boxmodel.asp

  • 盒模型分為 標(biāo)準(zhǔn) w3c 盒子模型、IE 盒子模型,以及css3中的 伸縮盒模型。
  • 注意區(qū)分:盒子模型的寬高、盒子的實(shí)際寬高、盒子內(nèi)容content的寬高
  • 我們一般理解的盒子模型是標(biāo)準(zhǔn)盒子模型
  • 我們?cè)贒OM操作中一般使用的是盒子的實(shí)際大小,margin 不參與計(jì)算

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

CSS 框模型 (Box Model) 規(guī)定了元素框處理元素內(nèi)容、內(nèi)邊距、邊框 和 外邊距 的方式,其模型圖如下:

1.png

內(nèi)邊距、邊框和外邊距都是可選的,默認(rèn)值是零。但是,許多元素將由用戶代理樣式表設(shè)置外邊距和內(nèi)邊距??梢酝ㄟ^將元素的 margin 和 padding 設(shè)置為零來覆蓋這些瀏覽器樣式。這可以分別進(jìn)行,也可以使用通用選擇器對(duì)所有元素進(jìn)行設(shè)置:

* {
  margin: 0;
  padding: 0;
}

在標(biāo)準(zhǔn)盒模型中,width 和 height 指的是內(nèi)容區(qū)域的寬度和高度。增加內(nèi)邊距、邊框和外邊距不會(huì)影響內(nèi)容區(qū)域的尺寸,但是會(huì)增加元素框的總尺寸。

w3c中的盒子模型占用的大小:margin + border + padding + width/height;
width: margin2 + border2 + padding2 + width;
height: margin
2 + border2 + padding2 + height;

w3c中盒子模型的實(shí)際大?。篵order + padding + width/height;
width: border2 + padding2 + width;
height: border2 + padding2 + height;

w3c中盒子模型的內(nèi)容區(qū)域的大?。簑idth/height
width: width;
height: height;

怪異盒模型(IE 盒子模型)

相較于標(biāo)準(zhǔn)盒模型,IE盒模型最大的不同在于:
IE 盒子模型的 content 部分包含了 border 和 padding 這兩個(gè)屬性。

IE 盒子模型占用的寬度:margin + content-width/height;
width: margin2 + width;
height: margin
2 + height;

IE 盒子模型的實(shí)際大?。篶ontent-width/height
width: width;
height: height;

實(shí)例對(duì)比

例如一個(gè)盒子模型如下:
margin:20px; border:10px; padding:10px; width:200px; height:50px;

1.使用w3c盒子模型解釋:
  • 盒子模型占用的大小為:
    寬度:20x2+10x2+10x2+200=280px;
    高度:20x2+10x2+20x2+50=130px;
  • 盒子的實(shí)際大小為:
    寬度:10x2+10x2+200=240px;
    高度:10x2+20x2+50=90px;
  • 盒子內(nèi)容的大小為:
    寬度:200px;
    高度:50px;
2.使用IE盒子模型解釋:
  • 盒子模型占用的大小為:
    寬度:20x2+200=240px;
    高度:20x2+50=90px;
  • 盒子的實(shí)際大小為:
    寬度:200px;
    高度:50px;
最后編輯于
?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,091評(píng)論 1 92
  • 1. 前言 前端圈有個(gè)“?!保涸诿嬖嚂r(shí),問個(gè)css的position屬性能刷掉一半人,其中不乏工作四五年的同學(xué)。在...
    YjWorld閱讀 4,877評(píng)論 5 15
  • 一、display屬性值總結(jié)。 1、display:block block元素會(huì)獨(dú)占一行。默認(rèn)情況下,blo...
    iam夢(mèng)的的閱讀 1,398評(píng)論 0 0
  • 尊敬的各位領(lǐng)導(dǎo),同學(xué)們: 大家好! 我是XXX,我演講的題目是《揮灑青春激情 爭當(dāng)八桂先鋒》。雷鋒同志曾經(jīng)寫道:“...
    陽文政閱讀 969評(píng)論 0 3
  • 當(dāng)黃老師說出讓我放下期待的時(shí)候,我哭了,內(nèi)心很失望,本以為我的努力都是要朝著我所期待的方向發(fā)展,卻讓我放下期待,也...
    daicy_522閱讀 376評(píng)論 0 1

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