盒模型 文件流

2022-03-05 09:45:04 字數 2813 閱讀 4698

盒模型

一、盒子中的區域

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

width是「寬度」的意思,css中width指的是內容的寬度,而不是盒子的寬度。

height是「高度」的意思,css中height指的是內容的高度,而不是盒子的高度

padding是「內邊距」的意思

border是「邊框」

margin是「外邊距」

二、認識padding

背景色會填充到padding中去,padding區域有背景顏色,background-color將填充所有boder以內的區域。

padding有兩種寫法,一種小屬性寫法,另一種是綜合性寫法,綜合寫法時要用空格隔開。順序是上右下左

在寫padding時,要用小屬性層疊大屬性

例如:padding: 20px;

padding-left: 30px;

三、border

border就是邊框。邊框有三要素:粗細、線型、顏色。

顏色如果不寫,預設是黑色。粗細和線型不寫顯示不出來邊框。(顏色、線型缺一不可)

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

1)按3要素拆開

border-width:10px;    → 邊框寬度

border-style:solid;     → 線型

border-color:red;      → 顏色。

等價於:border:10px solid red;

2)按方向拆:

按方向:border-top、border-right、border-bottom、border-left

按方向還能再拆一層,就是把每個方向的按每個要素拆開。如:

border-top-width:10px; 

標準文件流

1)空白折行摺疊現象

當後面的空間不足以放下本身空間時,會自動換行

2)文件流按照底部對齊,高矮不齊;

一、塊級元素和行內元素

標籤根據文件流分為塊級元素、行內元素。

1) 塊級元素

● 霸佔一行,不能與其他任何元素並列

● 能接受寬、高

● 如果不設定寬度,那麼寬度將預設變為父親的100%。

2) 行內元素

● 與其他行內元素併排

● 不能設定寬、高。預設的寬度,就是文字的寬度。

根據顯示內容分為:文本級、容器級。

文本級:p、span、a、b、i、u、em

容器級:div、h系列、li、dt、dd

所有的文本級標籤,都是行內元素,除了p,p是個文本級,但是是個塊級元素。

所有的容器級標籤都是塊級元素。

二、塊級元素和行內元素互換

通過display相互轉換

display:inline轉換成行內元素。

● 此時這個div不能設定寬度、高度;

● 此時這個div可以和別人併排了

display:block轉換成塊級元素。

● 此時這個元素能夠設定寬度、高度

● 此時這個元素必須霸佔一行了,別人無法和他併排

● 如果不設定寬度,將撐滿父親

脫離標準文件流

css中一共有三種手段,使乙個元素脫離標準文件流:

1) 浮動

2) 絕對定位

3) 固定定位

一、浮動

1)浮動會使元素脫離標準文件流,不受標準文件流束縛。

2)浮動元素會相互貼靠

3)浮動元素有字圍效果

注意:字圍只能是漢字才有的效果,英文本元數字不行!

雖然div有浮動,可以擋住p標籤但是擋不住p裡的內容

強調:要有浮動都浮動。

4)浮動元素會收縮

收縮:乙個浮動的元素,如果沒有設定width,那麼將自動收縮為文字的寬度(這點非常像行內元素)。

二、浮動的清除

清除浮動的方法:

1)給浮動的元素的祖先元素加高度

如果乙個元素要浮動,那麼它的祖先元素一定要有高度。

只要浮動在乙個有高度的盒子中,那麼這個浮動就不會影響後面的浮動元素。所以就是清除浮動帶來的影響了。

給前面乙個浮動過的元素的祖元素加高度,清除浮動對後面的影像。

2)clear:both

clear就是清除,both指的是左浮動、右浮動都要清除。意思就是:清除別人對我的影響。

注意:這種方法有bug,加上clear:both後margin會失效。

3)隔牆法

在兩個浮動的中間插乙個div分隔開來並清除浮動clear:both。

內牆法:把div塊插在浮動元素的後面,也就是浮動元素父元素裡面。

「內牆法」:  瀏覽器渲染機制 內牆div 設定屬性  clear: both即可給父親設定高度

注意:脫標的元素是不能把父元素撐出高度的!表現出的高是假象。

兩個p都浮動,所以div不能被撐出高。而在家裡新增乙個內牆,就能夠讓div被兒子撐出高度。

4)溢位清除浮動:overflow:hidden

overflow       當層的內容超出層所能容納的範圍時:

visible     層的 大小 內容會顯示出來

hidden      隱藏超出層大小的內容

scroll      不管內容是否超出層的範圍 都新增滾動條

auto        只在內容超出層的範圍時才顯示滾動條

乙個父親不能被自己浮動的兒子,撐出高度。但是,只要給父親加上overflow:hidden; 那麼,父親就能被兒子撐出高了。這是乙個偏方。

開發時,隔牆法和溢位隱藏都可以。

2020 12 09盒模型與標準文件流

二 標準文件流 div 內邊距 內容與邊框的距離。內邊距的區域也會被背景渲染。padding有四個方向 上下左右。box border 邊框 盒子占有的最外層的區域。box box margin 外邊距 盒子與盒子之間的距離。margin有四個方向 上下左右。盒子的內容多少不確定時,為了保證元素的高...

CSS盒模型 定位流 浮動流

一 盒模型 1 border 寬度 樣式顏色 2 padding 內邊距 3 margin 外邊距 垂直方向會合併 4 content 其它操作 1 box sizing content box 預設 border box 固定元素大小 2 水平居中 1.margin 0 atuo 盒子居中 2.t...

css 標準流 盒模型 浮動

一 盒模型 1.1 盒子的區域 乙個盒子的主要屬性5個 width height padding border margin padding 內邊距 border 邊框 margin 外邊框 1.2 認識width height 乙個盒子的真實占有的寬度 左border 左padding width...