一、額外標籤法(在最後乙個浮動元素的後面新加乙個標籤如
,並在其css樣式中設定clear: both;)
優點:簡單,通俗易懂,寫少量**,相容性好缺點:額外增加無語義html元素,**語義化差,後期維護成本大
二、給父級設定高度
優點:簡單,寫少量**,容易掌握缺點:不夠靈活,只適用於高度固定的布局
三、觸發父bfc(如給父元素設定overflow:hidden
,特別注意的是:在ie6中還需要觸發haslayout,例如給父元素設定zoom:1
。原理是觸發父級bfc後,父元素在計算高度時,浮動的子元素也會參與計算)
優點:簡單,**簡潔缺點:設定overflow:hidden容易造成不會自動換行導致超出的尺寸被隱藏掉,無法顯示要溢位的元素
四、使用after偽元素常見的方法如下
.clearfix::after.clearfix
優點:符合閉合浮動思想,結構語義化正確
缺點:**量多,因為ie6-7下不支援after偽元素,需要額外寫
zoom:1
來觸發haslayout
清除浮動的幾種方式,各自的優缺點
問 清除浮動的幾種方式,各自的優缺點 1.使用空標籤清除浮動clear both。原理 新增乙個空div,利用css提高的clear both清除浮動,讓父級div能自動獲取到高度 優點 通俗易懂,容易掌握 缺點 會新增很多無意義的空標籤,有違結構與表現的分離,在後期維護中將是噩夢 2.父級div定...
清除浮動方法及優缺點
方法1 給父級div定義 高度 如下 我是左浮動 我是右浮動 我是div2 原理 通過設定父元素overflow值設定為hidden 在ie6中還需要觸發 haslayout zoom 1 優點 簡介,不存在結構和語義化問題 缺點 無法顯示需要溢位的元素 亦不太推薦使用 方法7父元素設定 overf...
清除浮動的方法及優缺點
為什麼要清除浮動?下面的例子是浮動對元素的影響 lang en charset utf 8 type text css box1 box2 box3 style head class box1 class box2 p div class box3 div body html box2加入float...