搜尋
首頁web前端css教學全面梳理下CSS盒模型的相關知識點

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

Apr 12, 2023 pm 06:05 PM
cssjavascript前端面試

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中文網其他相關文章!

陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除
@rules具有多少特異性,例如@keyframes和@media?@rules具有多少特異性,例如@keyframes和@media?Apr 18, 2025 am 11:34 AM

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

您可以嵌套@Media和@support查詢嗎?您可以嵌套@Media和@support查詢嗎?Apr 18, 2025 am 11:32 AM

是的,您可以,而且它並不重要。不需要CSS預處理器。它在常規CSS中起作用。

快速吞噬緩存破壞快速吞噬緩存破壞Apr 18, 2025 am 11:23 AM

您應該肯定會在CSS和JavaScript(以及圖像和字體以及其他內容)等資產上設置遙遠的高速緩存標頭。告訴瀏覽器

尋找可以監視CSS質量和復雜性的堆棧尋找可以監視CSS質量和復雜性的堆棧Apr 18, 2025 am 11:22 AM

許多開發人員寫瞭如何維護CSS代碼庫的文章,但並沒有很多關於如何測量該代碼庫質量的文章。當然,我們有

數據學家用於建議不執行值的值數據學家用於建議不執行值的值Apr 18, 2025 am 11:08 AM

您是否曾經有一種需要接受簡短而任意的文本的表格?喜歡名字或其他。那完全是用的。有很多

蘇黎世的最初會議蘇黎世的最初會議Apr 18, 2025 am 11:03 AM

我很高興能前往瑞士蘇黎世參加前界(Love the Name and URL!)。我以前從未去過瑞士,所以我很興奮

使用CloudFlare工人建立全棧無服務器應用程序使用CloudFlare工人建立全棧無服務器應用程序Apr 18, 2025 am 10:58 AM

我在軟件開發方面最喜歡的發展之一是無服務器的出現。作為一個傾向於陷入細節的開發人員

在NUXT應用程序中創建動態路由在NUXT應用程序中創建動態路由Apr 18, 2025 am 10:53 AM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

DVWA

DVWA

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

SecLists

SecLists

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

SublimeText3 Mac版

SublimeText3 Mac版

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

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器