css清除浮動

2021-08-28 06:59:10 字數 1416 閱讀 6830

一:浮動產生原因

一般浮動產生的原因是因為子元素使用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浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不能撐開,這樣浮動就產生了...