盒模型小全

CSS盒子模型詳解

1. 定義

CSS盒子模型是用于描述HTML元素在頁面中布局和表現的核心概念之一。在CSS中,所有HTML元素都被視為一個矩形的盒子,這些盒子封裝了周圍的HTML元素,并允許在其他元素和周圍元素邊框之間的空間放置內容。

2. 組成部分

CSS盒子模型由四個主要部分組成:

  • Content(內容區):這是盒子中實際顯示內容的部分,例如文本或圖像。它由widthheight屬性定義,表示的是內容區域的實際尺寸。
  • Padding(內邊距):位于內容區與邊框之間的區域,用于控制內容與其邊框之間的間距。內邊距是透明的,受background屬性的影響。
  • Border(邊框):圍繞在內邊距之外的一層,可以設置樣式、寬度和顏色。邊框會增加盒子的實際尺寸。
  • Margin(外邊距):位于盒子外部,用于與其他元素保持距離。外邊距通常是透明的,不會受到背景顏色的影響。
3. 標準盒子模型與IE怪異盒子模型的區別
  • 標準盒子模型(content-box):在這種模型下,widthheight屬性僅適用于內容區域(content),不包括內邊距(padding)、邊框(border)或外邊距(margin)。這意味著如果設置了寬度為300px,那么內容區域的寬度就是300px,而內邊距和邊框會額外增加到總寬度上。
div {box-sizing: content-box;width: 300px;padding: 25px;border: 25px solid green;
}

上述代碼中,最終的寬度為:300px(內容寬度) + 2 × 25px(左右內邊距) + 2 × 25px(左右邊框寬度) = 400px。

  • IE怪異盒子模型(border-box):在這種模型下,widthheight屬性包含內容區域、內邊距和邊框的總和。這意味著如果設置了寬度為300px,那么內容區域、內邊距和邊框的總和不會超過300px。
div {box-sizing: border-box;width: 300px;padding: 25px;border: 25px solid green;
}

上述代碼中,內容區域的寬度為:300px - 2 × 25px(左右內邊距) - 2 × 25px(左右邊框寬度) = 200px。

4. box-sizing屬性的作用

box-sizing屬性用于定義如何計算元素的寬度和高度。它有兩個主要值:

  • content-box:這是默認值,表示使用標準盒子模型,widthheight僅適用于內容區域。
  • border-box:表示使用怪異盒子模型,widthheight包含內容區域、內邊距和邊框。

通過設置box-sizing: border-box;,開發者可以更方便地進行精確布局,尤其是在需要固定寬度的容器中添加內邊距和邊框時。

示例代碼

以下是一個對比兩種盒子模型的示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>盒子模型對比</title>
<style>.standard-box {box-sizing: content-box;width: 300px;padding: 25px;border: 25px solid green;background-color: lightgrey;}.quirky-box {box-sizing: border-box;width: 300px;padding: 25px;border: 25px solid green;background-color: lightblue;}
</style>
</head>
<body>
<h2>標準盒子模型 vs 怪異盒子模型</h2>
<div class="standard-box">標準盒子模型</div>
<div class="quirky-box">怪異盒子模型</div>
</body>
</html>
結論

理解CSS盒子模型及其不同模式對于實現精確的網頁布局至關重要。通過合理使用box-sizing屬性,開發者可以簡化復雜的布局問題,并確保設計的一致性。


解CSS盒子模型及其不同模式對于實現精確的網頁布局至關重要。通過合理使用box-sizing屬性,開發者可以簡化復雜的布局問題,并確保設計的一致性。


在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/83393.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/83393.shtml
英文地址,請注明出處:http://en.pswp.cn/web/83393.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自定義鼠標效果 - 瀏覽器擴展使用教程

自定義鼠標效果 - 瀏覽器擴展使用教程 這里寫目錄標題 自定義鼠標效果 - 瀏覽器擴展使用教程功能特點安裝方法Chrome/Edge瀏覽器 使用指南1. 更改鼠標光標樣式2. 啟用鼠標軌跡效果3. 自定義軌跡效果點狀/彩虹/漸隱軌跡&#xff1a;表情軌跡&#xff1a; 管理自定義光標支持的文…

基于SpringBoot實現的課程答疑系統設計與實現【源碼+文檔】

基于SpringBootVue實現的課程答疑系統采用前后端分離架構方式&#xff0c;系統設計了管理員、學生、老師三種角色&#xff0c;系統實現了用戶登錄與注冊、個人中心、學生管理、老師管理、科目類型管理、學生問題管理、老師回答管理、老師信息管理、關注列表管理、交流區、輪播圖…

御微半導體面試總結

前一陣子在公司干的難受&#xff0c;所以再合肥這邊面試了幾家公司&#xff0c;挑一個御微半導體來說一下吧&#xff0c;公司主要是做半導體晶元測量的&#xff0c;具體啥我也不太明白。 公司產品線多&#xff0c;每條產品線配有獨立的軟件、結構、光學控制等人員開發語言和框…

Android Compose 自定義圓形取色盤

val Dp.toPx: Floatget() {var scale 3f // MyApplication.context.resources.displayMetrics.apply { // scale density // }return value * scale}val colors List(360) { i ->Color.hsv(360f - i, 1f, 1f) // 360到1的所有HSV顏色 }Preview …

vscode 配置 latex

下載插件 安裝插件前自行安裝 texlive, 按照 https://tug.org/texlive/ 要求安裝 找到 settings 打開 json 文件 在 json 文件中添加如下配置 "latex-workshop.latex.tools": [{"name": "latexmk","command": "latexmk",&qu…

安寶特方案丨船舶智造的“AR+AI+作業標準化管理解決方案”(質檢)

船舶質檢管理現狀&#xff1a;質檢環節部分依賴人工檢測&#xff0c;質檢員依據質量標準對產品進行抽檢或全檢。人工質檢受質檢員主觀因素影響較大&#xff0c;不同質檢員對標準的把握可能存在差異。 一、痛點與需求 1 Arbigtec 人工經驗依賴嚴重&#xff1a; 質檢員的檢測準確…

jenkins gerrit-trigger插件配置

插件gerrit-trigger下載好之后要在Manage Jenkins -->Gerrit Trigger-->New Server 中新增Gerrit Servers 配置好保存后點擊“狀態”查看是否正常

ubuntu24.04下 zookeeper3.8.4 集群的配置

1、環境 1.1 三臺機器網絡互通&#xff0c;并做hosts解析 準備三臺及以上ubuntu24.04主機&#xff08;奇數&#xff09; rootzk-node01:~# hostname zk-node01rootzk-node01:~# cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 u24-server10.0.49.215 zk-node01 10.0.4…

火山引擎 veFuser:面向擴散模型的圖像與視頻生成推理服務框架

資料來源&#xff1a;火山引擎-開發者社區 DiT 模型與推理挑戰 近年來&#xff0c;擴散模型&#xff08;Diffusion Models&#xff09;在生成式人工智能領域取得了突破性進展&#xff0c;尤其是在圖像和視頻生成方面表現卓越。基于 Transformer 的擴散模型&#xff08;DiT, D…

動態多目標進化算法:VARE(Vector Autoregressive Evolution)求解DF1-DF14,提供完整MATLAB代碼

一、VARE簡介 VARE&#xff08;Vector Autoregressive Evolution&#xff09;算法是2023年提出的一種新型的動態多目標優化&#xff08;DMO&#xff09;算法&#xff0c;旨在有效處理隨時間變化的多目標優化問題。它通過結合向量自回歸&#xff08;VAR&#xff09;模型和環境感…

【JavaEE】-- HTTPS

文章目錄 1. HTTPS是什么&#xff1f;2. 加密是什么&#xff1f;2.1 引入對稱加密&#xff08;效率高&#xff09;2.2 引入非對稱加密&#xff08;效率低&#xff09;2.3 引入證書2.3.1 數據簽名2.3.2 通過證書解決中間人攻擊 1. HTTPS是什么&#xff1f; HTTP也是一個應用層協…

撰寫腳本,通過發布/joint_states話題改變機器人在Rviz中的關節角度

撰寫腳本&#xff0c;通過發布/joint_states話題改變機器人在Rviz中的關節角度 提問 為我寫一個改變關節base_spherical_center_high_joint角度的python腳本吧。適用于ROS2的humble 回答 下面是一個適用于 ROS 2 Humble 的 Python 腳本&#xff0c;它會以指定頻率持續發布 …

Redis : Hash類型

哈希類型 哈希類型的命令 hset 設置key指定的字段&#xff08;field&#xff09;的值&#xff08;value&#xff09; 也可以設置多組field和value hget 獲得哈希中指定字段的值 如果該字段為空或者key為空則返回nil hexists 判斷哈希中是否有該字段的值 如果有則會返回1…

【Chipyard】 conda 環境安裝與使用

一、Conda 安裝&#xff08;以 Miniconda 為例&#xff09; Conda 是一個強大的環境管理工具&#xff0c;可用于創建、隔離和管理不同的 Python/R 環境。以下是在 Ubuntu 上安裝和使用的完整流程&#xff1a; 1. 下載 Miniconda 安裝包 bash # 下載最新版 Miniconda3&#…

【愚公系列】《生產線數字化設計與仿真》009-顏色分類站仿真(設置顏色分類站的仿真序列)

&#x1f31f;【技術大咖愚公搬代碼&#xff1a;全棧專家的成長之路&#xff0c;你關注的寶藏博主在這里&#xff01;】&#x1f31f; &#x1f4e3;開發者圈持續輸出高質量干貨的"愚公精神"踐行者——全網百萬開發者都在追更的頂級技術博主&#xff01; &#x1f…

ios 26官宣:car play升級提升車載體驗

蘋果公司正式官宣推出ios 26&#xff0c;該版本為ios 18的后續版本。此次軟件更新在命名上煥然一新&#xff0c;設計層面更是實現了全面革新。其中&#xff0c;car play界面迎來全新升級&#xff0c;同時還新增了car play ultra功能。借助這一功能&#xff0c;用戶不僅能夠使用…

Mac 上使用 mysql -u root -p 命令,出現“zsh: command not found: mysql“?如何解決

一、確定 MySQL 安裝路徑&#xff1a; 如果你是使用 Homebrew 安裝的 MySQL&#xff0c;通常安裝路徑是 /usr/local/mysql/bin 如果你是通過官方 DMG 安裝包安裝的 MySQL&#xff0c;默認安裝路徑可能是 /usr/local/mysql/bin 你可以在終端中使用以下命令來查找 MySQL 的安裝…

微軟PowerBI考試 PL300-使用適用于 Power BI 的 Copilot 創建交互式報表

微軟PowerBI考試 PL300-使用適用于 Power BI 的 Copilot 創建交互式報表 Microsoft Power BI 可幫助您通過交互式報表準備數據并對數據進行可視化。 如果您是 Power BI 的新用戶&#xff0c;可能很難知道從哪里開始&#xff0c;并且創建報表可能很耗時。 通過適用于 Power BI …

Android11三網共存

一、優先級基本知識介紹 Android6.0之后系統中優先級設置都是根據Score分值來設置優先級&#xff0c;分值0-100&#xff0c;數值越高&#xff0c;越優先。 SIM卡網絡 50 wifi網絡 60 有線網絡 70手機網絡設置都有自己的Factory設置類&#xff0c;都繼承自NetworkFactory.j…

【散刷】二叉樹基礎OJ題(三)

&#x1f4dd;前言說明&#xff1a; 本專欄主要記錄本人的基礎算法學習以及刷題記錄&#xff0c;使用語言為C。 每道題我會給出LeetCode上的題號&#xff08;如果有題號&#xff09;&#xff0c;題目&#xff0c;以及最后通過的代碼。沒有題號的題目大多來自牛客網。對于題目的…