第4課 一張圖讓你對(duì)CSS盒模型過(guò)目不忘

一、CSS與CSS盒模型

1. 什么是CSS?

CSS即層疊樣式表(全稱:Cascading Style Sheets),是一種用來(lái)表現(xiàn)HTML樣式的計(jì)算機(jī)語(yǔ)言,它不僅可以靜態(tài)地修飾網(wǎng)頁(yè),還可以配合各種腳本語(yǔ)言動(dòng)態(tài)地對(duì)網(wǎng)頁(yè)各元素進(jìn)行格式化。 也許這個(gè)術(shù)語(yǔ)可能比較陌生,但是實(shí)際上我們已經(jīng)用過(guò)了。大部分容器的屬性style的值以及標(biāo)簽<style></style>里的內(nèi)容都只能是CSS。

2. 什么是CSS盒模型?

我們之前提過(guò)容器的概念,這里的盒子可理解為在瀏覽器上可見的塊狀容器。比如一個(gè)登錄模塊,新聞或人物摘要模塊,文章列表等。CSS給這些盒子定了一個(gè)盒子模型,包含了內(nèi)容(content)、內(nèi)邊距(padding)、邊框(border)、外邊距(margin)幾個(gè)要素,這個(gè)模型像極了一個(gè)快遞盒子。為了更好地說(shuō)明這個(gè)問(wèn)題,我真的弄了一個(gè)快遞盒子,折騰了兩小時(shí),今天非得把這個(gè)問(wèn)題說(shuō)明白了,看圖!


盒子模型

這個(gè)快遞盒子已經(jīng)把盒子模型表達(dá)得很清楚了。

  • padding: 是內(nèi)容與邊框之間的距離,圖上表現(xiàn)即表現(xiàn)為泡沫的厚度(忽略間隙,下同)。
  • border: 邊框,圖上表現(xiàn)為紙箱。
  • margin: 是一個(gè)容器的邊框與另一個(gè)容器邊框之間的距離,上圖表現(xiàn)為紙箱間距。
  • content: 容器中的內(nèi)容,上圖表現(xiàn)為磚頭。

小明家裝修就差幾塊磚,剛好我家有點(diǎn)舊磚就給他寄過(guò)去,寄之前我按綠色箭頭的測(cè)量方法測(cè)量好了之后,把尺寸告訴給小明。過(guò)些天快件要到了。彼時(shí)小明已記不清我說(shuō)的尺寸,但又不好意思再問(wèn)我,于是讓派件小哥幫忙測(cè)量,派件小哥就把快件按紅色箭頭的測(cè)量方法測(cè)量好了之后,把尺寸告訴給小明。小明犯難了,這尺寸不對(duì)呀,這可如何是好。

其實(shí)不是尺寸出了問(wèn)題,而是我們度量尺寸之前沒有協(xié)商好以什么樣的方式去度量。box-sizing的作用就是把容器的度量方式給確定下來(lái),這樣在說(shuō)明或計(jì)算一個(gè)容器的寬高的時(shí)候才不致于混亂。然而實(shí)際開發(fā)的過(guò)程中,這個(gè)樣式屬性用得很少,是因?yàn)橐话闱闆r下我們是按其默認(rèn)值 content-box的方式進(jìn)程度量的。

二、屬性解析

box-sizing: content-box|border-box|inherit

說(shuō)明
content-box 這是CSS2.1指定的寬度和高度的行為。指定元素的寬度和高度(最小/最大屬性)適用于box的寬度和高度。元素的填充和邊框布局和繪制指定寬度和高度除外
border-box 指定寬度和高度(最小/最大屬性)確定元素邊框box。也就是說(shuō),對(duì)元素指定寬度和高度包括padding和border的指定。內(nèi)容的寬度和高度減去各自雙方該邊框和填充的寬度從指定的"寬度"和"高度"屬性計(jì)算
inherit 指定box-sizing屬性的值,應(yīng)該從父元素繼承
?著作權(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)容