一:浮動產生原因
一般浮動產生的原因是因為子元素使用float屬性產生的,導致父元素不能被撐開。
二:浮動帶來的後果
1.由於浮動,父級內容不能被撐開,所以背景(背景顏色,背景)無法顯示
2.如果設定了邊框屬性,邊框不能被撐開
3.margin,padding設定值不能正確顯示。
三:清除浮動的方法
案例:有3個盒子,乙個父元素parent,兩個子元素children_left,children_right。他們的樣式分別如下:
.parent
.children_left
.children_right
瀏覽器效果如下圖:
以下針對這個案例進行清除浮動:
第一種方法:可以為父元素設定高度,這種情況只適用在知道父元素高度的前提下。其餘**不變,只需要修改parent的樣式為其新增乙個高度,如下
第二種方法:clear:both;其餘**不變,只需要在父元素
之前再加入乙個div,設定其樣式為clear:both;如下
第三種方法: 為父級元素設定樣式overflow: hidden;其餘**不變,只需在parent中加入樣式overflow: hidden即可。如下
此外,還有很多清浮動的方法:
.clearfix:after
.clearfix
把這個樣式新增到父元素上,也能清除浮動
zoom是ie專用屬性,firefox等是不支援的。它的本來作用是設定或檢索物件的縮放比例,但這作用幾乎用不到。
設定zoom:1可以在ie6下清除浮動、解決margin導致的重疊等問題。
通常,當浮動子元素導致父元素塌陷的時候,只要給父元素加上overflow: hidden;來解決,但是對於ie不行,需要觸發其haslayout屬性才可以。 zoom:1就是ie6 專用的 觸發 haslayout 屬性的。haslayout是ie特有的乙個屬性。很多的ie下的css bug都與其息息相關。
在給低版本的ie做相容的時候會用到zoom:1。例如,清除浮動的時候,我們會這麼寫
.clearfix::after
為了防止低版本的ie瀏覽器不支援after選擇器或者某些屬性,在最後加上zoom:1來清除浮動。
CSS清除浮動 清除float浮動
css清除浮動方法集合 一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不...
CSS清除浮動 清除float浮動
css清除浮動方法集合 一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不...
CSS清除浮動 清除float浮動
一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不能撐開,這樣浮動就產生了...