先來看乙個例子
.father
.son
此時,子盒子會撐開父盒子,會形成這樣乙個盒子,方便說明,假設父盒子相對子盒子有多出的部分(其實父子兩盒子大小相同)
若給子元素加乙個浮動,父盒子高度便會為零(這裡假設父盒子有一定的高度,實則高度為0)。因為浮動的元素已經脫離標準流,而父盒子並未指定寬高。
而清除浮動就是為了解決父級元素因為子級浮動引起內部高度為0
的問題,可以這樣理解,清除浮動就是父盒子閉合,將子盒子緊緊包住,為了不讓子盒子影響到別的元素
清除浮動常用方法:
1) 額外標籤法
css中,clear
屬性用於清除浮動,可以在浮動元素末尾新增乙個空標籤
缺點:這樣做很簡單,但出現大量的空標籤,結構化很差
2) 父級新增overflow屬性方法
為父元素新增overflow屬性
觸發bfc,以達到清除浮動的效果(overflow為 hidden|auto|scroll 都可以實現)
缺點:很容易將溢位的內容給隱藏掉
3) 使用after偽元素清除浮動
.clearfix:after
.clearfix /* ie6、7 專有 */
使用時只需要給需要清除浮動的盒子新增.clearfix
類即可
缺點:ie6,7 不支援 :after,使用 zoom:1觸發 haslayout
CSS清除浮動 清除float浮動
css清除浮動方法集合 一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不...
CSS清除浮動 清除float浮動
css清除浮動方法集合 一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不...
CSS清除浮動 清除float浮動
一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不能撐開,這樣浮動就產生了...