趣悟第1期 CSS盒子模型

2021-10-03 19:51:49 字數 1683 閱讀 3673

duang duang duang!!!

小夥伴們校招面試的時候是不是經常被面試官問這樣的問題:能說說你了解的盒子模型嗎?

能!當然能!

這是乙個很基礎的前端問題,在校招面試時,面試官想考察你前端基礎功的時候,會經常被問到哦。

標準的盒模型主要有兩種:

兩者的區別主要在於元素寬度計算方式不一樣。盒子模型構成:內容(content)、內填充(padding)、 邊框(border)、外邊距(margin)。

但是ie8及其以下版本瀏覽器,未宣告 doctype,內容寬高會包含內填充和邊框,被稱為ie盒模型。

標準(w3c)盒模型

在標準盒模型中,總元素寬度 = width + padding + border + margin

ie盒模型

ie盒模型中,總元素寬度 = width + margin

明晃晃的例子:

試想一下,你只有250畫素的空間。讓我們設定總寬度為250畫素的元素:

div

在標準模型下,總元素的寬度=寬度+左填充+右填充+左邊框+右邊框+左邊距+右邊距=220px (width)+ 20px (左 + 右padding)+ 10px (左 + 右border)+ 0px (左 + 右margin)= 250px

緊接著,面試官就會問:通過什麼屬性修改盒子模型呢?

css3有乙個box-sizing屬性

該屬性定義了 user agent 應該如何計算乙個元素的總寬度和總高度

box-sizing: content-box(預設)|border-box|inherit:
content-box:是預設值。如果你設定乙個元素的寬為100px,那麼這個元素的內容區會有100px 寬,並且任何邊框和內邊距的寬度都會被增加到最後繪製出來的元素寬度中。(標準盒子模型)

即:

width = 內容的寬度

height = 內容的高度

寬度和高度的計算值都不包含內容的邊框(border)和內邊距(padding)。

border-box :告訴瀏覽器:你想要設定的邊框和內邊距的值是包含在width內的。也就是說,如果你將乙個元素的width設為100px,那麼這100px會包含它的border和padding,內容區的實際寬度是width減去(border + padding)的值。大多數情況下,這使得我們更容易地設定乙個元素的寬高。(ie盒子模型)

即:          

width = border + padding +內容的寬度

height = border + padding + 內容的高度

明晃晃的例子:

css盒子模型 CSS 盒子模型

css 盒子模型基本上是面試的必考題,因為實在是太重要了。以前寫 css 總是感覺元素的寬高十分難調,其中乙個很大的問題就是忽略了盒子模型的重要性。說到 css 盒子模型,你可能會說我知道呀,就是 margin 包 border,border 包 padding,padding 包 content ...

css盒子模型 說說css盒子模型

引用mdn官方的解釋 當對乙個文件進行布局 lay out 的時候,瀏覽器的渲染引擎會根據標準之一的 css 基礎框盒模型 css basic box model 將所有元素表示為乙個個矩形的盒子 box css 決定這些盒子的大小 位置以及屬性 例如顏色 背景 邊框尺寸 每個盒子由四個部分 或稱區...

css 盒子模型 ie盒子模型

css盒子模型 網頁設計中css技術所使用的一種思維模型。css盒子模型組成 外邊距 margin 邊框 border 內邊距 padding 內容 content css盒子模型分為 標準w3c盒子模型,ie盒子模型,注意在兩種模型中寬 width 和高 height 包括屬性的不同。標準w3c盒...