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盒模型的相關知識點。
- 標準盒子模型:元素的寬度和高度只包含內容(content),不包含內邊距(padding)、邊框(border)和外邊距(margin)。
- 全面梳理下CSS盒模型的相關知識點:元素的寬度和高度包括內容(content)、內邊距(padding)和邊框(border),但不包括外邊距(margin)。
兩種盒子模型的差別是什麼?
這兩種盒模型的差異在於它們如何計算元素的寬度和高度,以及如何處理元素的內邊距、邊框和外邊距。
- 在標準盒模型中,元素的寬度和高度只包括內容,因此在設定寬度和高度時需要考慮內邊距、邊框和外邊距對它們的影響。
- 如圖:
- 而在全面梳理下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中文網其他相關文章!

前幾天我得到了這個問題。我的第一個想法是:奇怪的問題!特異性是關於選擇者的,而在符號不是選擇器,那麼...無關緊要?

在這篇文章中,我們將使用我構建和部署的電子商務商店演示來進行Netlify,以展示如何為傳入數據製作動態路線。這是一個公平的


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1
好用且免費的程式碼編輯器