總結CSS中清除浮動的三種方法

2021-07-10 14:24:16 字數 1103 閱讀 3730

為什麼要清除浮動:

當子元素為設定浮動時,父元素的一些樣式會無法正常顯示,如給父元素設定的邊框,背景,背景顏色都會受到影響,不僅如此,還會給父元素的同級元素的排版帶來影響。

產生浮動的原因:

由於父元素沒有設定具體的高度(有時為了適應子元素中的內容,一般是不給父元素設定高度的,而是根據子元素的內容自動確定父元素的高度),加上子元素設定了浮動,就會使父元素中的內容無法展開,從而破壞了正常的文件流,造成父元素一些樣式無法正常顯示,父元素的同級元素排版受到影響的問題。

例項:

在#main元素中給兩個子元素#left,#right分別設定為左右浮動,並給#main設定邊框和背景顏色。

**:

清除浮動head

left

right

footer

在瀏覽器中的執行結果為

我們會發現,#main的邊框被擠成一條線了,而本應該在#main下的#footer元素卻直接

跑到#head塊下了。這就是設定浮動後帶來的影響。

為了讓#main塊正常顯示其樣式,我們需要清除浮動帶來的影響。

解決浮動常用的三種辦法:

1)給父元素設定高度

父元素高度=子元素高度+子元素上下邊框大下

給#main元素加上以下**:

height:404px;

2)新增新的元素,應用clear:both;

在left

right

中新增乙個新的塊,**如下:

並設定相應的樣式:

#clear

3)給父元素塊新增overflow:auto

#main

原理:此屬性是設定讓父元素中的內容緊貼父元素,從而達到清除浮動的作用。

清除浮動後再瀏覽器中開啟的效果:

CSS清除浮動的三種方法

說說 float 的幾個要點就行了 只有左右浮動,沒有上下浮動。元素設定 float 之後,它會脫離普通流 和 position absolute 一樣 不再佔據原來那層的空間,還會覆蓋下一層的元素。浮動不會對該元素的上乙個兄弟元素有任何影響。浮動之後,該元素的下乙個兄弟元素會緊貼到該元素之前沒有設...

清除浮動的三種方法

lang en charset utf 8 清除浮動的三種方法title type text css div3 div3 after style head style background blue border 1px solid gold 使用空標籤清除浮動。增加了無意義的結構元素 style ...

清除浮動的三種方法

在我使用浮動時,為我們帶來了便利的同時也帶了一點影響,我們在使用浮動時往往不會給父級盒子新增高度,因為子盒子會撐起父盒子。這樣一旦我們使用浮動,則下面使用的div會跑到父級盒子的位置,畢竟使用浮動,不占有位置,解決此問題我列出了三種方法,希望能幫助大家。1 在浮動元素後新增空標籤 eg 111222...