css盒子模型的寬度問題

2022-07-29 04:15:11 字數 1167 閱讀 3805

最近看css權威指南的時候,發現乙個之前特別不清楚的概念——寬度。

每個塊級元素都有乙個元素框,元素框內包括了元素內容,元素內邊距,元素邊框,元素外邊距。

所以元素框的寬度=元素內容寬度+元素內邊距+元素邊框+元素外邊距。

也就是他父元素的內容寬度。

那麼我們常說的width就是元素框的寬度嗎?

答案是否定的。我們常說的width屬性值在css中被定義為從左內邊界到右內邊界的距離。也就是內容塊的寬度。什麼都不包括。例如

<

div

id="parent"

style

="width: 200px;padding: 20px;"

>

div>

這裡,你用js去獲取width值就是200px。就是乙個很普通的屬性值。加的padding並不會影響你的width值。

那麼我們常說的padding+border+content寬度到底是什麼呢?

這是元素可見區域的寬度。通常我們用offsetwidth獲取就是這個寬度。當然了,我們常說的盒子寬度其實在我看來也是這個值。上面那個盒子的offsetwidth就是240

因為布局的時候有時候並不希望padding會撐大原來的盒子,所以css3中推出了已box-sizing的屬性

internet explorer、opera 以及 chrome 支援 box-sizing 屬性。

firefox 支援替代的 -moz-box-sizing 屬性。

這個屬性預設值是content-box。當我們把值設成border-box的時候為元素設定的寬度和高度決定了元素的邊框盒。就是說,為元素指定的任何內邊距和邊框都將在已設定的寬度和高度內進行繪製。通過從已設定的寬度和高度分別減去邊框和內邊距才能得到內容的寬度和高度。

關於寬度還有乙個最小寬度min-width和max-width的問題。這個值設定的時候用的比較多。如果元素小於最小寬度,元素會被拉伸到最小寬度,如果元素大於最大寬度,元素會被壓縮到最大寬度值。如果在兩者之間正常顯示。

暫時想到的關於寬度的就這麼多。主要參考css權威指南和w3cschool結合了一些自己的理解,如有錯誤,還請指正。

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盒...