清除浮動的方法及原理

2021-10-22 22:44:29 字數 726 閱讀 2733

1. overflow:hidden/scroll/auto,hidden可以清除浮動但有可能隱藏有用的東西,這個屬性定義溢位元素

內容區的內容會如何處理(不推薦)預設值為visible,scroll內容會被修剪,其餘內容可見,hidden會被

修剪其餘內容不可見,auto若被修剪則其餘按滾動條顯示若沒有也按滾動條顯示。inherit繼承父元素overflow

的值。2. style="clear:both;"也可以清除浮動但是會加入空標籤(不推薦)

3. .clearfix:before,.clearfix:after

.clearfix:after

.clearfix(相容ie 觸發haslayout)(推薦)

4.父級div也一起浮動

5.父級div定義display:table

清除浮動的原理

在早期我們通過在div標籤中新增了乙個空的span標籤,並且給這個空的span清除浮動。但是這樣的話就

需要每次都新增乙個空的標籤,所以一些前輩就想出來用::after::before偽元素來清除浮動,用偽元素

的好處是你可以用偽元素製造視覺上的效果,但是不會增加js查dom的負擔,它對js是透明的你無法用js

獲取到這個偽元素。所以即使你給頁面新增了很多偽元素,也不會影響查dom的效率。通過給大盒子裡面

新增元素清除浮動的話,就會觸動bfc,使這個盒子和其他的盒子隔離開,使其父元素的高能夠自適應子

盒子的高。

清除浮動的方法及原理

用下面 來體會 我是乙個即將要左浮動的盒子 我是乙個文字盒子 我是乙個底部盒子 效果圖是 給floatdiv盒子加上浮動後 很明顯浮動主要帶來了兩方面的影響 一 對父盒子topdiv高度影響 子盒子浮動,會讓父盒子的高度塌陷,如果父盒子沒有內容,高度會變成0,所以叔父盒子bottomdiv因為浮動的...

浮動及清除浮動的方法

浮動元素脫離文件流,不佔據空間。浮動元素直到它的外邊緣碰到包含框或另乙個浮動框的邊框為止。1 使用空標籤清除浮動 在所有浮動標籤後面新增乙個空標籤定義cssclear both.弊端就是增加了無意義標籤,影響文件結構美觀性。1 div style clear both div 2 使用overflo...

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

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