CSS 盒模型

一剔猿、概念(以下來(lái)源MDN)

CSS 基礎(chǔ)框盒模型:CSS 規(guī)范的一個(gè)模塊专甩,它定義了一種長(zhǎng)方形的盒子——包括它們各自的內(nèi)邊距(padding)與外邊距(margin )俭正,并根據(jù)視覺(jué)格式化模型來(lái)生成元素谷扣,對(duì)其進(jìn)行布置、編排芹彬、布局(lay out)庵芭。常被直譯為盒子模型、盒模型或框模型雀监。

CSS 視覺(jué)格式化模型:用來(lái)處理和在視覺(jué)媒體上顯示文檔時(shí)使用的計(jì)算規(guī)則

二、什么是盒子模型

1.它是一種CSS規(guī)范眨唬,名稱為CSS basic box model会前,被翻譯成盒子模型(在CSS1它的名字叫Formatting model,CSS2的初版定義叫Box model匾竿,目前叫CSS basic box model瓦宜,大概意思就是本來(lái)沒(méi)有盒子模型這個(gè)詞,叫的人多了規(guī)范就變了岭妖。)
2.它的具體內(nèi)容見(jiàn)CSS 基礎(chǔ)框盒模型介紹
3.內(nèi)容簡(jiǎn)述:

  • 它將HTML中的元素用矩形盒子表示
  • 每個(gè)盒子由四個(gè)部分組成(content临庇、border、margin昵慌、padding)


    image.png

三假夺、標(biāo)準(zhǔn)盒模型與IE盒模型

盒子模型由四個(gè)部分組成,每個(gè)部分都有其屬性斋攀,其中內(nèi)容區(qū)有三個(gè)屬性已卷,width、height 和overflow淳蔼。不同的盒模型分歧出現(xiàn)在width侧蘸、height的含義上面。

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

標(biāo)準(zhǔn)盒模型是指W3C為CSS語(yǔ)言推薦的標(biāo)準(zhǔn)方式鹉梨,參考前面2點(diǎn)讳癌。
標(biāo)準(zhǔn)盒模型堅(jiān)持認(rèn)定width、height就應(yīng)該表示的是內(nèi)容區(qū)的屬性存皂,因此瀏覽器中真實(shí)所占的寬度和高度為padding + border + width晌坤。

測(cè)試代碼如下所示:

    <div style="background-color:green;display:inline-block;
    margin: 10px;
    padding: 20px;
    border: 5px solid red;
    width: 100px;height:100px;">內(nèi)容區(qū)域</div>

示例圖如下圖所示:


瀏覽器中表現(xiàn)

盒子模型圖

由上可見(jiàn),width、height就是內(nèi)容區(qū)的寬高泡仗,真實(shí)高寬變成了150埋虹。

3.2 IE盒模型

在IE6之前的IE瀏覽器都是默認(rèn)使用IE盒模型,IE6及其以上的版本在標(biāo)準(zhǔn)兼容模式下使用的是標(biāo)準(zhǔn)盒模型娩怎,但是仍然支持IE盒模型搔课。
IE盒模型與標(biāo)準(zhǔn)盒模型的區(qū)別就是它堅(jiān)持認(rèn)為width、height指的是盒子的寬度高度(即屬性設(shè)置的瀏覽器中的真實(shí)寬高)截亦。用過(guò)box-sizing:border-box;應(yīng)該會(huì)有體會(huì)爬泥,這種屬性對(duì)于開(kāi)發(fā)者來(lái)說(shuō)還是很方便的。

在IE盒模型下崩瓤,盒子的表現(xiàn)如下圖:


image.png

可以看見(jiàn)內(nèi)容區(qū)被壓縮了袍啡,此時(shí)瀏覽器中真實(shí)寬高=(width,height)正好是我們?cè)O(shè)置的,很多情況下却桶,我們不會(huì)關(guān)心內(nèi)容區(qū)域的寬高境输,只會(huì)關(guān)心元素在瀏覽器中的寬高。如果壓縮之后內(nèi)容區(qū)域不夠顯示內(nèi)容怎么辦呢颖系?這時(shí)可以設(shè)置overflow來(lái)調(diào)整嗅剖。

四、兩種盒模型的切換

CSS中的 box-sizing 屬性定義了 user agent應(yīng)該如何計(jì)算一個(gè)元素的總寬度和總高度嘁扼。

  • border-box (IE盒模型)
  • content-box (標(biāo)準(zhǔn)盒模型)

五信粮、補(bǔ)充

外邊距也屬于盒子的一部分,但是寬度和高度計(jì)算是不包括外邊距的(margin)

六趁啸、總結(jié)

  1. 盒子模型是一種CSS規(guī)范
  2. 盒子模型規(guī)定一個(gè)元素由4個(gè)部分組成(content强缘、border、margin不傅、padding)
  3. 有兩種盒模型旅掂,在CSS3中可以通過(guò)box-sizing屬性自由設(shè)置
  4. 不同盒模型的區(qū)別在于width、height屬性的計(jì)算方式上访娶、標(biāo)準(zhǔn)盒模型認(rèn)為width辞友、height是內(nèi)容區(qū)的,但是IE盒模型認(rèn)為是指盒子的震肮。

參考

CSS 基礎(chǔ)框盒模型
CSS 基礎(chǔ)框盒模型介紹
視覺(jué)格式化模型
百度百科-CSS盒子模型
百科-IE盒模型缺陷
CSS box-sizing

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末称龙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子戳晌,更是在濱河造成了極大的恐慌鲫尊,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沦偎,死亡現(xiàn)場(chǎng)離奇詭異疫向,居然都是意外死亡咳蔚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門搔驼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谈火,“玉大人,你說(shuō)我怎么就攤上這事舌涨∨此#” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵囊嘉,是天一觀的道長(zhǎng)温技。 經(jīng)常有香客問(wèn)我,道長(zhǎng)扭粱,這世上最難降的妖魔是什么舵鳞? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮琢蛤,結(jié)果婚禮上蜓堕,老公的妹妹穿的比我還像新娘。我一直安慰自己博其,他們只是感情好套才,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著贺奠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪错忱。 梳的紋絲不亂的頭發(fā)上儡率,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音以清,去河邊找鬼儿普。 笑死,一個(gè)胖子當(dāng)著我的面吹牛掷倔,可吹牛的內(nèi)容都是我干的眉孩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼勒葱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浪汪!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起凛虽,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤死遭,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后凯旋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體呀潭,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钉迷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钠署。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糠聪。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖谐鼎,靈堂內(nèi)的尸體忽然破棺而出舰蟆,到底是詐尸還是另有隱情,我是刑警寧澤该面,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布夭苗,位于F島的核電站,受9級(jí)特大地震影響隔缀,放射性物質(zhì)發(fā)生泄漏题造。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一猾瘸、第九天 我趴在偏房一處隱蔽的房頂上張望界赔。 院中可真熱鬧,春花似錦牵触、人聲如沸淮悼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)袜腥。三九已至,卻和暖如春钉汗,著一層夾襖步出監(jiān)牢的瞬間羹令,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工损痰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留福侈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓卢未,卻偏偏與公主長(zhǎng)得像肪凛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辽社,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353