搜尋
首頁web前端css教學介紹下CSS盒子模型以及box-sizing屬性

這篇文章為大家帶來了關於css的相關知識,其中主要介紹了css盒子模型以及box-sizing屬性的相關問題,box-sizing屬性定義如何計算一個元素的總寬度和總高度,主要設定是否需要加上內邊距(padding)和邊框等,下面一起來看一下,希望對大家有幫助。

介紹下CSS盒子模型以及box-sizing屬性

(學習影片分享:css影片教學html影片教學

盒子模型定義及分類

CSS 基礎框盒模型是CSS 規範的一個模組,它定義了一種長方形的盒子, 包括它們各自的內邊距(padding)與外邊距(margin
),並根據視覺格式化模型來產生元素,對其進行佈置、編排、佈局。常被直譯為盒子模型、盒子模型或框架模型。

盒模型有以下分類:

  • 標準定義:
    • 標準盒模型
    • 怪異模式盒模型
  • 元素類型
    • 區塊級盒子
    • 內聯盒子
    • #行內區塊

標準定義劃分

1. 標準盒子模型

寬度width = 內容寬度(content) padding border margin

內容寬度只是只有content。如果設定一個元素的寬為100px,那麼這個元素的內容區會有100px寬,並且任何邊框內邊距的寬度都會被增加到最後繪製出來的元素寬度。

2. 怪異模式盒子模型

寬度width = 內容寬度(content padding border) margin

內容寬度包含了contentborderpadding。如果將一個元素的width設為100px,那麼這100px會包含它的borderpadding ,內容區的實際寬度是width減去(border padding)的值。大多數情況下,這使得我們更容易設定一個元素的寬高。

3. box-sizing屬性

box-sizing屬性有以下兩個屬性值。

box-sizing屬性定義如何計算一個元素的總寬度和總高度,主要設定是否需要加上內邊距(padding)和邊框等。

例如,假如您需要並排放置兩個帶有邊框的框,可透過將 box-sizing 設定為 "border-box"。這樣就可以讓瀏覽器呈現出有指定寬度和高度的框框,並將邊框和內邊距放入框中。

預設情況下,元素的寬度(width) 和高度(height)計算方式如下:

  • width(寬度) padding(內邊距) border(邊框) = 元素實際寬度

  • height(高度) padding(內邊距) border(邊框) = 元素實際高度

1. content -box

預設值,使用標準盒子模型

.contentBox {
    box-sizing: content-box;
    width: 350px;
    border: 10px solid black;
    padding: 0 10px;}

以上程式碼在瀏覽器中的渲染的實際寬度是390px

2. border-box

使用怪異模式盒子模型

.borderBox {
    box-sizing: border-box;
    width: 350px;
    border: 10px solid black;
    padding: 0 10px;}

以上程式碼在瀏覽器中的渲染的實際寬度就是350px

範例如下:

#
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>123</title>
<style> 
div.container {
  width: 100%;
  border: 2px solid black;
}
div.box {
  box-sizing: border-box;
  width: 50%;
  border: 5px solid red;
  float: left;
}
</style>
</head>
<body>
<div class="container">
  <div class="box">这个 div 占据了左边部分</div>
  <div class="box">这个 div 占据了右边部分</div>
  <div style="clear:both;"></div>
</div>
</body>
</html>

輸出結果:

介紹下CSS盒子模型以及box-sizing屬性

範例二:

<!DOCTYPE html>
<html>
<head>
<style>
* {
  box-sizing: border-box;
}
#example1 {
  width: 300px;
  padding: 40px;  
  border: 15px solid blue;
}
#example2 {
  width: 300px;
  padding: 10px;  
  border: 2px solid red;
}
</style>
</head>
<body>
<h1 id="通用的-nbsp-box-sizing">通用的 box-sizing</h1>
<p>使用 “box-sizing:border-box” 可以让前端开发人员减少很多工作。 上面 head 部分中的第一个样式确保所有元素都以这种更直观的方式调整大小。
你设置的宽度就是实际的宽度,不需要考虑内边距和边框:</p>
<div id="example1">div 的完整宽度为 300px, 不需要考虑内边距和边框。</div>
<br>
<div id="example2">这个 div 的完整宽度也是 300px, 也不需要考虑内边距和边框。</div>
</body>
</html>

輸出結果:

介紹下CSS盒子模型以及box-sizing屬性

元素類型分割

1. 區塊級盒子

一個被定義成區塊級的(block)盒子會表現出以下行為:

  • 盒子可以佔據父容器的所有可用空間
  • 每個盒子都會換行
  • widthheight屬性可以發揮作用
  • 預設情況下h1- h6ppsection都處於block狀態

2. 內聯盒子

一個被定義成內聯的(inline)盒子會表現出以下行為:

  • 盒子不会产生换行
  • widthheight属性将不起作用
  • 默认情况下用做链接的a元素、spanem以及strong都处于inline状态

3. 特殊的行内块

如果不希望一个项切换到新行,但希望它可以设定宽度高度,此时我们可以将该元素设置为inline-block

4. 元素类型切换


display属性值
块级盒子 block
内联盒子 inline
行内块 inline-block

4. 盒模型属性设置

1. margin和padding

  • 1个值:四个方向
  • 2个值:上下、左右
  • 3个值:上、左右、下
  • 4个值:上、右、下、左

2. border值

border: 10px double red;

10px、双实线、红色边框。

(学习视频分享:css视频教程html视频教程

以上是介紹下CSS盒子模型以及box-sizing屬性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
' CSS4”更新' CSS4”更新Apr 11, 2025 pm 12:05 PM

自從我第一次介紹了CSS4面中的事情以來,就已經進行了更多的討論。我將在這裡從其他人那裡匯集我最喜歡的想法。有

三種代碼三種代碼Apr 11, 2025 pm 12:02 PM

每次啟動一個新項目時,我都會將我正在查看的代碼分為三種類型,或者如果您願意的話。我認為這些類型可以應用於

https很容易!https很容易!Apr 11, 2025 am 11:51 AM

我對公開哀悼HTTPS的複雜性感到內gui。過去,我從第三方供應商那裡購買了SSL證書,並且遇到了麻煩

HTML數據屬性指南HTML數據屬性指南Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

了解JavaScript中的不變性了解JavaScript中的不變性Apr 11, 2025 am 11:47 AM

如果您以前從未在JavaScript中使用不變性,則可能會發現很容易將其與為新值或重新分配分配變量的混淆。

具有現代CSS功能的定製樣式表單輸入具有現代CSS功能的定製樣式表單輸入Apr 11, 2025 am 11:45 AM

如今,可以在語義上且易於訪問的同時構建自定義的複選框,無線電按鈕和切換開關。我們甚至不需要

腳註字符腳註字符Apr 11, 2025 am 11:34 AM

有特殊的超級數字字符有時非常適合腳註。他們在這裡:

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器如何使用HTML,CSS和JavaScript創建動畫倒計時計時器Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

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.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器