CSS盒子模型

2021-07-26 11:59:30 字數 4861 閱讀 4284

盒子模型

網頁設計中常聽的屬性名:內容(content)、填充(padding)、邊框(border)、邊界(margin), css盒子模式都具備這些屬性。這些屬性我們可以用日常生活中的常見事物——盒子作乙個比喻來理解,所以叫它盒子模式。css盒子模型就是在網頁設計中經常用到的css技術所使用的一種思維模型。

盒子中的區域

乙個盒子中主要的屬性就5個:width、height、padding、border、margin。

width是「寬度」的意思,

css中

width

指的是內容的寬度,而不是盒子的寬度。

height是「高度」的意思,

css中

height

指的是內容的高度,而不是盒子的高度。

padding是「內邊距」的意思。

border是「邊框」

margin是「外邊距」

這個盒子width:200px; height:200px;但是真實占有的寬高是

302*302

。 這是因為還要加上

padding

、border

寬度和真實占有寬度,不是乙個概念!!

認識寬高

.box1

.box2

上面兩個盒子的真實寬高都是302*302

真實占有寬度=border  +padding  +  width  +padding  +border

認識padding

padding就是內邊距。padding的區域有背景顏色,css2.1前提下,並且背景顏色一定和內容區域的相同。也就是說,background-color將填充所有boder以內的區域。

padding是4個方向的,所以我們能夠分別描述4個方向的padding。方法有兩種,第一種寫小屬性;第二種寫綜合屬性,用空格隔開。

小屬性:

padding-top: 30px;

padding-right: 20px;

padding-bottom: 40px;

padding-left: 100px;

top上、

right

右、bottom

下、left左。

這種屬性,就是復合屬性。比如不寫padding-left那麼就是沒有左內邊距。

快捷鍵就是pdt、

pdr、

pdb、

pdl然後按

tab。

綜合屬性:

padding:30px 20px 40px 100px;/*上、右、下、左*/
padding: 20px 30px 40px;/*上、右(左)、下*/
padding: 30px 40px;/*上(下)、右(左)*/
空格隔開的,四個數字就是上、右、下、左。

也就是說,前端開發工程師眼中的順序不一樣。

老百姓:上下左右

強調開發工程師:上、右、下、左

注意:小屬性是可以重疊綜合屬性的,小屬性一定要寫在大屬性後面!!!!否則不生效會被後面的大屬性層疊掉樣式

1padding: 20px;

padding-left: 30px;

顯示的樣式效果如下:

*
但是* 的選擇效率不高,所以我們都是用並集選擇器,羅列出所有的標籤,比如:

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td
boder邊框就是邊框。邊框有三個要素:粗細、線型、顏色。顏色如果不寫,預設是黑色。另外兩個屬性不寫,要命了,顯示不出來邊框。

比如,border:10px ridge red;  在chrome和firefox、ie中有細微差別:

由於各個瀏覽器的相容問題,如果要求高度還原頁面,那麼就需要採用的方式來做邊框,需要切圖處理,所以,比較穩定的樣式是

solid,dashed,dotted

border是乙個大綜合屬性

border:1px solid red;/*就是把4

個邊框,都設定為

1px寬度、線型實線、

red顏色*/

border屬性能夠被拆開,有兩大種拆開的方式:

1) 按3要素

:border-width

、border-style

、border-color

1border-width

:10px;    

→ 邊框寬度

2border-style

:solid;     

→ 線型

3border-color:red;      → 顏色。

等價=>

border:10px solid red;

現在心裡要明白,原來乙個border是由三個小屬性綜合而成:border-width  border-style   border-color

如果某乙個小要素後面是空格隔開的多個值,那麼就是上右下左的順序:

2) 按方向:border-top

、border-right

、border-bottom

、border-left

border-top:10px solid red;

border-right:10px solid red;

border-bottom:10px solid red;

border-left:10px solid red;

等價與=>border:10px solid red;

按方向還能再拆一層

,就是把每個方向的,每個要素拆開,一共12條語句:

border-top-width:10px;

border-top-style:solid;

border-top-color:red;

border-right-width:10px;

border-right-style:solid;

border-right-color:red;

border-bottom-width:10px;

border-bottom-style:solid;

border-bottom-color:red;

border-left-width:10px;

border-left-style:solid;

border-left-color:red;

等價與=>border:10px solid red;

實際做站的時候,通常採用的是更簡單的綜合屬性的寫法,比如實現如下圖的效果

border也可以沒有,border:none;或者某乙個邊沒有border-left:none(border-left-width:0)

css盒子模型 CSS 盒子模型

css 盒子模型基本上是面試的必考題,因為實在是太重要了。以前寫 css 總是感覺元素的寬高十分難調,其中乙個很大的問題就是忽略了盒子模型的重要性。說到 css 盒子模型,你可能會說我知道呀,就是 margin 包 border,border 包 padding,padding 包 content ...

css盒子模型 說說css盒子模型

引用mdn官方的解釋 當對乙個文件進行布局 lay out 的時候,瀏覽器的渲染引擎會根據標準之一的 css 基礎框盒模型 css basic box model 將所有元素表示為乙個個矩形的盒子 box css 決定這些盒子的大小 位置以及屬性 例如顏色 背景 邊框尺寸 每個盒子由四個部分 或稱區...

css 盒子模型 ie盒子模型

css盒子模型 網頁設計中css技術所使用的一種思維模型。css盒子模型組成 外邊距 margin 邊框 border 內邊距 padding 內容 content css盒子模型分為 標準w3c盒子模型,ie盒子模型,注意在兩種模型中寬 width 和高 height 包括屬性的不同。標準w3c盒...