CSS clearfix 清除浮動 用法詳解

2021-08-16 16:40:07 字數 1435 閱讀 9311

一.為什使用

首先,我們來解釋一下為什麼要使用 clearfix(清除浮動)。 通常我們在寫html+css的時候,如果乙個父級元素內部的子元素是浮動的(float),那麼常會發生父元素不能被子元素正常撐開的情況,如下圖所示:

父級元素未被展開

先來看乙個簡單的clear的例子便於理解。 假設我們現有這樣乙個布局:

樣式清除前:

我們可以看到footer的布局方式並不是我們想讓它做的,為了讓footer置於底部,可以給footer加上 clear:both; 

來清除footer兩側的浮動:

.footer {  

clear: both; 

樣式清除後:

理解了上面的例子之後,我來用乙個例子解釋clearfix的作用:

樣式為:

**執行結果為:

我們可以看到,雖然footer在container外部,卻沒位於底端,因為container內部子元素為float,導致container並沒有被撐開(圖中根本沒有黑色元素顯示出來)。 如果我們給footer新增 clear:both;,布局問題可以被解決,但是container依舊沒有被撐開,有一種強行解決問題的感覺。 

要解決此問題,我們可以給container新增乙個類,叫做clearfix,下面是clearfix的實現形式(之一):

上述**通過偽類 :after 在container後新增內容(content),來實現清除浮動

二.最佳實踐

實際應用中clearfix樣式見下面:

css clearfix 清除浮動

參考 清除浮動方法有好幾種,1.用空div,設定css為clear both 2.用空br,設定css為clear both 3.用空br,用原生clear屬性 以上三種都需要新增額外元素,對dom操作容易產生其他問題 之前做專案確實碰到過空div進行clear帶來的煩惱 再來看看先進的方法 cle...

浮動 清除浮動

在css布局中分為內聯元素 display inline 和塊狀元素 display block 塊狀元素缺省會佔據一行,可設定高度寬度以及邊距,而內斂元素不會也不能設定。常見的內斂元素有 a span input select,常見的塊狀元素有 h1 h6,p,div,ul,table。浮動元素是...

CSS清除浮動 清除float浮動

css清除浮動方法集合 一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不...