為什麼要清除浮動
清除浮動主要是為了解決,父元素因為子級元素浮動引起的內部高度為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屬性無效。這種方...