首頁  >  文章  >  web前端  >  全面梳理下CSS盒模型的相關知識點

全面梳理下CSS盒模型的相關知識點

青灯夜游
青灯夜游轉載
2023-04-12 18:05:211432瀏覽

CSS 盒子模型是 CSS 基礎的重點困難,因此常被面試官們拿來考察候選人對前端基礎的掌握程度,這篇文章將對 CSS 盒模型知識點進行全面的梳理。

全面梳理下CSS盒模型的相關知識點

我們先看個例子:下面的 div 元素的總寬度是多少呢?

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
    <title>CSS 盒模型(https://github.com/webharry/fe-interview)</title>
<style>
div {
    background-color: lightgrey;
    width: 200px;
    border: 10px solid yellow;
    padding: 10px;
    margin: 20px;
}
</style>
</head>
<body>
    <div>这里是盒子内的实际内容。有 10px 内间距,20px 外间距、10px 黄色边框。</div>
</body>
</html>

要回答這個問題,我們必須先弄清楚 CSS 盒模型。

什麼是 CSS 盒子模型?

每個HTML元素都由一個矩形框(盒子)組成,稱為盒子模型。 CSS 盒子模型定義了一個 HTML 元素的尺寸和邊距。

盒模型的各個部分

CSS 中組成一個盒子需要:

  • Content box: 這個區域是用來顯示內容,大小可以透過設定 width 和 height
  • Padding box: 包圍在內容區域外部的空白區域;大小透過 padding 相關屬性設定。
  • Border box: 邊框盒包裹內容和內邊距。大小透過 border 相關屬性設定。
  • Margin box: 這是最外面的區域,是盒子和其他元素之間的空白區域。大小透過 margin 相關屬性設定。

如圖所示:

CSS 盒模型各个部分

CSS 有兩種盒子模型:標準盒模型和全面梳理下CSS盒模型的相關知識點。

  • 標準盒子模型:元素的寬度和高度只包含內容(content),不包含內邊距(padding)、邊框(border)和外邊距(margin)。
  • 全面梳理下CSS盒模型的相關知識點:元素的寬度和高度包括內容(content)、內邊距(padding)和邊框(border),但不包括外邊距(margin)。

兩種盒子模型的差別是什麼?

這兩種盒模型的差異在於它們如何計算元素的寬度和高度,以及如何處理元素的內邊距、邊框和外邊距。

  • 在標準盒模型中,元素的寬度和高度只包括內容,因此在設定寬度和高度時需要考慮內邊距、邊框和外邊距對它們的影響。
    • 如圖:
    全面梳理下CSS盒模型的相關知識點
  • 而在全面梳理下CSS盒模型的相關知識點中,元素的寬度和高度包括內邊距和邊框,因此設定寬度和高度時不需要考慮內邊距和邊框對它們的影響。
    • 如圖:
    全面梳理下CSS盒模型的相關知識點

重要:  當您指定一個CSS 元素的寬度(width)和高度(height )屬性時,你只是設定內容區域(content)的寬度和高度。

兩種盒子模型間如何轉換?

可以透過設定 CSS 的 box-sizing 屬性來指定要使用哪種盒子模型。預設情況下,box-sizing 屬性的值為 content-box,即使用標準盒模型。可以將其設定為 border-box,即使用全面梳理下CSS盒模型的相關知識點。

寫在最後

現在,我們再來看文章開頭的例子,答案顯而易見。因為在預設情況下,box-sizing 屬性的值為 content-box,即使用標準盒模型。所以範例中的 div 元素總寬度是 200 10x2 10x2=240px。

(學習影片分享:web前端

以上是全面梳理下CSS盒模型的相關知識點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除