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