在網頁排版中,經常會出現浮動的元素,如圖片、文字等。而CSS清除浮動的幾種方法也是我們在開發過程中必須要掌握的技巧。
以下是幾種常見的清除浮動方法:
.clearfix:after { content: ""; display: block; clear: both; }
這是一種比較常見的清除浮動的方式,利用:before或:after偽元素,在浮動元素父容器后插入一個空元素,并清除它的浮動。
.clearfix { zoom: 1; } .clearfix:before, .clearfix:after { content: ""; display: table; } .clearfix:after { clear: both; }
這種方法是針對IE瀏覽器而設計的,通過給父容器添加zoom:1來觸發IE6/7下父元素的HasLayout屬性,解決父元素無法獲取高度的問題。同時添加display:table以規避IE6雙倍邊距bug,after偽元素用來清除浮動。
.container { overflow: hidden; }
利用overflow:hidden可以讓容器自動包裹內部的浮動元素,實現清除浮動的效果。但是該方法可能會隱藏內容溢出的元素,慎用。
.container::after { content: ""; display: block; clear: both; visibility: hidden; height: 0; } .container { display: inline-block; }
通過:before或:after偽元素來清除浮動,在IE6下需要設置“zoom: 1;”來激活haslayout屬性。同時通過將浮動容器的display值修改為inline-block,可以避免父容器高度塌陷的問題。
以上是幾種常見的CSS清除浮動的方法,使用時要根據實際情況選擇最合適的方法,避免因清除浮動而帶來的其他問題。