css中清除浮動的主要方法

2021-07-13 01:49:10 字數 1444 閱讀 5994

工作中因需要我們經常設定元素float,導致其脫離標準文件流,因此會對其父元素或兄弟元素產生影響。為了消除浮動

帶來的影響,

下面總結幾種常用的清除浮動的方法,測試已通過 ie chrome firefox opera,需要的朋友可以參考下。

1、父級div定義 height  ,

**如下:

left

right

原理:父級div手動定義height,就解決了父級div無法自動獲取到高度的問題。 

優點:簡單、**少、容易掌握 。

缺點:只適合高度固定的布局,要給出精確的高度,如果高度和父級div不一樣時,會產生問題 。

建議:不推薦使用,只建議高度固定的布局時使用 。 2、

結尾處加空div標籤 clear:both  ,**如下:

left

right

div2

原理:新增乙個空div,利用css提高的clear:both清除浮動,讓父級div能自動獲取到高度

優點:簡單、**少、瀏覽器支援好、不容易出現怪問題

缺點:不少初學者不理解原理;如果頁面浮動布局多,就要增加很多空div,讓人感覺很不好

3、父級div定義 偽類:after 和 zoom  ,**如下:

left

right

div2

原理:ie8以上和非ie瀏覽器才支援:after,原理和方法2有點類似,zoom(ie轉有屬性)可解決ie6,ie7浮動問題

缺點:**多、不少初學者不理解原理,要兩句**結合使用才能讓主流瀏覽器都支援。

建議:推薦使用,建議定義公共類,以減少css**。

4、父級div定義 overflow:hidden ,

**如下:

left

right

div2

原理:必須定義width或zoom:1,同時不能定義height,使用overflow:hidden時,瀏覽器會自動檢查浮動區域的高度 。

優點:簡單、**少、瀏覽器支援好 。

缺點:不能和position配合使用,因為超出的尺寸的會被隱藏。

5、父級div定義 overflow:auto  ,

**如下:

left

right

div2

原理:必須定義width或zoom:1,同時不能定義height,使用overflow:auto時,瀏覽器會自動檢查浮動區域的高度。 

優點:簡單、**少、瀏覽器支援好 。

缺點:內部寬高超過父級div時,會出現滾動條。

建議:不推薦使用,如果你需要出現滾動條或者確保你的**不會出現滾動條就使用吧。 

css清除浮動方法

html 浮動 不想被浮動影響 css wrap float nofloat 現在雖然加了乙個空的div,但是並沒有給它清除浮動,所以目前的效果就是第三個子元素.nofloat還是收到浮動的影響。ok,現在給.clear加上清除浮動 clear ps 這種情況比較適合元素之間是垂直排列布局的,為了不...

css 清除浮動方法

1 額外標籤法 隔牆法 style clear both div 2 父級 overflow hidden style overflow hidden div 3 父級 after 偽元素 clearfix after clearfix 4 父級雙偽元素 clearfix before,clearf...

CSS清除浮動的方法

給元素設定了float屬性後脫離了文件流,不佔據位置,所以其父級無法將其包裹,需要清除浮動。段 box item style class box class item div div 效果 方法一 給父級設定高度 段 box 問題解決 缺點 擴充套件性不好,沒有解決根本問題 方法二 給父級加上flo...