清除浮動的方法

2021-09-29 10:08:41 字數 1263 閱讀 5359

簡單地說,浮動是因為使用了float:left或float:right或兩者都有而產生的浮動,導致樣式缺失或者不正確顯示等問題;

1、背景不能顯示

由於浮動產生,如果對父級設定了(css background背景)css背景顏色或css背景,而父級不能被撐開,所以導致css背景不能顯示。

2、邊框不能撐開

如果父級設定了css邊框屬性(css border),由於子級裡使用了float屬性,產生浮動,父級不能被撐開,導致邊框不能隨內容而被撐開。

3、margin padding設定值不能正確顯示

由於浮動導致父級子級之間設定了css padding、css margin屬性的值不能正確表達。特別是上下邊的padding和margin不能正確顯示。

首先列舉乙個小案例:

123

子元素都設定了float屬性,父元素div高度不能撐開,樣式margin屬性顯示有問題;

方法一:新增新的元素 、應用 clear:both;
在浮動的盒子之下再放乙個標籤,在這個標籤中使用clear:both,來清除浮動對頁面的影響.
注意:一般情況下不會使用這一種方式來清除浮動。因為這種清除浮動的方式會增加頁面的標籤,造成結構的混亂.
.clear
123

方法二:父級div定義 overflow: auto(注意:是父級div也就是這裡的  div.outer)
原理:使用overflow屬性來清除浮動有一點需要注意,overflow屬性共有三個屬性值:hidden,auto,visible。我們可以使用hiddent和auto值來清除浮動,但切記不能使用visible值。
.over-flow/*zoom1; 是在處理相容性問題*/
123

方法三: 使用偽元素來清除浮動(:after,注意:作用於浮動元素的父親)
主要推薦使用這種方法清除浮動
.clearfix:after

.clearfix

123

方法四:使用雙偽元素清除浮動
.clearfix:before,.clearfix:after 

.clearfix

清除浮動方法

簡單地說,浮動是因為使用了float left或float right或兩者都有而產生的浮動,導致樣式缺失或者不正確顯示等問題 1 背景不能顯示 由於浮動產生,如果對父級設定了 css background背景 css背景顏色或css背景,而父級不能被撐開,所以導致css背景不能顯示。2 邊框不能撐...

清除浮動方法及清除浮動原因

div1 盒子裡有left和right 兩個子盒子,div1 有兄弟盒子div2,給left right 盒子新增浮動前效果圖 浮動的屬性雖然方便使用,但是在使用這種屬性時,也存在著一種弊端,那就是當子元素設定了float屬性之後,且父元素的高度沒有設定,而是由子元素支撐起來,則會導致父元素的高度塌...

清除浮動的方法

1 給父元素加height 2 給父元素加浮動 絕對定位 固定定位 3 給父級元素加display inline block 4 給浮動元素下加 clear 5 給浮動元素下加 這個不符合w3c的標準,樣式,結構,行為分離。6 給浮動元素的父級元素加 clear 觸發ie7中的haslayout屬性...