清除浮動的幾種方法

2021-10-10 22:53:05 字數 1151 閱讀 4679

標準流:盒子會各佔整行位置。子盒子若是標準流,父盒子雖然沒有高度,但是會撐開父盒子高度。  

浮動:盒子浮了起來,不會佔據原來的位置,若父盒子沒有定義高度,則不會撐開父盒子,父盒 子高度為0。(浮動可以讓多個塊級元素在一行顯示,且塊與塊之間沒有空隙,但要注意給父盒子清除浮動,否則父盒子不會被撐開)。

為什麼要清除浮動呢?清除浮動的本質是什麼?

清除浮動主要是為了解決父級元素因為子級浮動引起的內部高度為0的問題。

清除浮動的方法:

1. 額外標籤法:給誰清除浮動,就在其後額外新增乙個空白標籤 。

優點:通俗易懂,書寫方便。(不推薦使用)

缺點:新增許多無意義的標籤,結構化比較差。

給元素small清除浮動(在small後新增乙個空白標籤clear(類名可以隨意),設定clear:both;即可)

2. 父級新增overflow方法:可以通過觸發bfc的方式,實現清楚浮動效果。

優點:**簡潔(慎重使用,若該父盒子裡還有position定位會引起麻煩)

缺點:內容增多時候容易造成不會自動換行導致內容被隱藏掉,無法顯示需要溢位的元素。

注意:別加錯位置,是給父親加(並不是所有的浮動都需要清除,誰影響布局,才清除誰。)

3. 使用after偽元素清除浮動::after方式為空元素的公升級版,好處是不用單獨加標籤了。(較常用)

優點:符合閉合浮動思想,結構語義化正確

缺點:由於ie6-7不支援:after,使用zoom:1,觸發haslayout。

注意:這個也是給父親新增 clearfix

4. 使用before和after雙偽元素清除浮動:(較常用)

注意:是給父親新增clearfix

清除浮動的幾種方法

1.浮動元素下加空div 為了統一樣式,我們新建乙個樣式選擇器class命名為 clear 並且對應選擇器樣式為 clear both 然後我們在父級 結束前加此div引入class clear 樣式。這樣即可清除浮動。這個class 清除float產生浮動,可以不用對父級設定高度 也無需技術父級高...

清除浮動的幾種方法

當元素浮動時,他將不再處於普通文件流中,相當於浮在文件之上,不佔據空間,但是會縮短行寬,產生文字環繞的效果。浮動帶來的影響 1,父級的高度塌陷 2.背景不能顯示 3.變框不能撐開 4.margin值不能正確顯示 5.產生文字環繞的效果 6.由於脫離文件流,不佔位,而後面的元素未脫離文件流導致後面的元...

清除浮動的幾種方法

style float left 為了解決container容器高度塌陷問題,我們必須清除浮動 第一種方法 在container元素後加上乙個空的div標籤,然後給設定乙個clear both的樣式 第二種方法 給container容器新增 overflow auto hidden樣式 第三張方法 ...