css的兩種盒模型

2021-08-17 12:12:40 字數 2105 閱讀 2037

前言

初學 css 的時候 div 的一些寬高問題經常會引起一些不好理解的問題,這裡做乙個關於css盒模型的分享。

問題

下面的**可以直接複製出去執行哦



lang

="en"

>

>

charset

="utf-8"

>

>

css盒模型title

>

head

>

type

="text/css"

>

.content

style

>

>

class

="content"

id="zwkkkk1"

>

div>

body

>

html

>

上面**的邏輯很簡單,就是設乙個寬300px,高400px的div,並設定5px的邊框和20px的padding。然後我們來看效果:

這裡我們會發現明明我們設定了300*400長寬比,為什麼呈現出來的是乙個350*450的盒子呢?

接著讓我們開啟除錯頁面一**竟。

我們可以找到下面的這張示意圖:

在這張圖中,我們發現我們設定的300*400出現在了最裡面的那個藍框中,與此同時我們可以發現在這個盒模型中除了我們設定的內容(content),還有margin(外邊距)、border(邊框)、padding(內邊框)

margin(外邊距)- 清除邊框外的區域,外邊距是透明的。

border(邊框)- 圍繞在內邊距和內容外的邊框。

padding(內邊距)- 清除內容周圍的區域,內邊距是透明的。

content(內容)- 盒子的內容,顯示文字和影象。

為了正確設定元素在所有瀏覽器中的寬度和高度,你需要知道盒模型是如何工作的。

而我們在測試效果圖看到的350*450盒子,

350(width)= 300(content)+ 20(padding)* 2 + 5(border)* 2

450(height)= 400(content)+ 20(padding)* 2 + 5(border)* 2

css的兩種盒模型

而引起上面效果的原因來自於 css 的兩種盒模型的不同,這裡我先對兩種盒模型做個介紹。

w3c的標準盒模型

在標準的盒子模型中,width指content部分的寬度

ie的盒模型

在ie盒子模型中,width表示content+padding+border這三個部分的寬度

我們可以看出我們上面的使用的預設正是w3c標準盒模型而這裡盒模型的選取更傾向於專案和開發者的習慣,並沒有絕對的好壞之分。

box-sizing的使用

如果想要切換盒模型也很簡單,這裡需要借助css3的box-sizing屬性

box-sizing的預設屬性是content-box

css 兩種盒模型

w3c 模型 box sizing border box content box 這是由 css2.1 規定的寬度高度行為。寬度和高度分別應用到元素的內容框。在寬度和高度之外繪製元素的內邊距和邊框。border box 為元素設定的寬度和高度決定了元素的邊框盒。就是說,為元素指定的任何內邊距和邊框都...

CSS 兩種盒模型

第一種是w3c標準的盒子模型 標準盒模型 第二種ie標準的盒子模型 怪異盒模型 標準盒模型width指的是內容區域content的寬度 height指的是內容區域content的高度 w3c標準盒模型下盒子的大小 width content border padding margin 怪異盒模型中的...

CSS的兩種盒模型

關於css的盒子模型相信學習前端的同學都有所耳聞,因為它太基礎太重要了。提起盒子模型,大家可能會想到content,padding,border,margin這些詞彙,還有也許還會想起盒子模型有兩種,比如ie的盒子模型與w3c的盒子模型,那麼我們怎麼來區分呢?先來看看w3c的盒子模型 w3c 盒子模...