css清除浮動的幾種方式

2021-10-06 22:44:19 字數 846 閱讀 1456

為什麼要清除浮動

清除浮動主要是為了解決,父元素因為子級元素浮動引起的內部高度為0的問題。

舉個例子:

此時元素是這樣的:

如果我們讓其中的子元素浮動,那麼就會變成下面這樣,我們會發現父元素的內容區的高度不見了:

.incont
使用after偽元素清除浮動(推薦使用)

.content 

.content:after

缺點:ie6-7不支援偽元素:after,使用zoom:1觸發haslayout.

使用before和after雙偽元素清除浮動

下面的寫法更簡潔:

.content:after,.content:before

.content:after

還有其他方法這裡就不再贅述,比如直接給父元素設定高度、讓父元素也浮動、父級元素絕對定位(觸發bfc)、父級元素設定為 inline-block(也是觸發bfc) 等方法。

滿足以下任意一條就可以觸發bfc,而觸發bfc就可以清除浮動:

float的值不為none。

overflow的值不為visible。

position的值不為relative和static。

display的值為table-cell, table-caption, inline-block中的任何乙個。

CSS 清除浮動的幾種方式

原文章 1 用 after 偽類,在父元素最後插入乙個空字串 content 元素設為塊級元素 display block 清除浮動 clear both 可見設為隱藏 高度為 0 2 相容低版本ie瀏覽器 同時設定給父元素設定樣式 其中 clear both 指清除元素兩側的所有浮動,如果該元素前...

清除浮動的幾種方式

1.可以給父級元素設乙個高度,如果高度是固定的,這種方法 簡單,但是要給父級元素設成乙個固定的高度。2.可以在浮動的下面加乙個空的元素 clear both 3.給父元素定義乙個偽類 after或 before clear both,display block zoom 1 為了相容ie zoom ...

清除浮動的幾種方式

元素1 元素2元素3 元素4元素5元素6 1.方法一 給父元素設定乙個高度 但是這種方法不經常使用 box1 box1 items box2 box2 items items2.使用clear both 這種方法相對於第一種方法較為簡潔,但是會造成第二個盒子元素的margin top屬性無效。這種方...