在HTML中,浮動(dòng)元素通常會(huì)帶來(lái)一些問(wèn)題,比如父元素高度塌陷或無(wú)法包裹子元素。為了解決這些問(wèn)題,我們可以使用清除浮動(dòng)的代碼。下面是一些常用的清除浮動(dòng)代碼:
.clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; }
讓我們來(lái)一步步解析這段代碼:
首先,我們給要清除浮動(dòng)的元素加上一個(gè)class名,比如“clearfix”。
我是左浮動(dòng)元素我是右浮動(dòng)元素
接下來(lái),我們定義一個(gè):before和:after偽元素,以用來(lái)清除浮動(dòng)。:before偽元素用來(lái)清除左浮動(dòng)元素,:after偽元素用來(lái)清除右浮動(dòng)元素。
.clearfix:before, .clearfix:after { content: " "; display: table; }
其中,content: " "; 表示在:before和:after偽元素中插入一個(gè)空格,display: table; 表示將偽元素以表格的形式顯示出來(lái),使得其能將float元素包裹起來(lái)。
接下來(lái),在:after偽元素中定義clear:both;,以保證浮動(dòng)的元素不會(huì)影響父元素的高度。
.clearfix:after { clear: both; }
最后,使用zoom:1; 來(lái)解決IE下的一些問(wèn)題。
.clearfix { *zoom: 1; }
使用以上的清除浮動(dòng)代碼后,我們就能避免浮動(dòng)元素帶來(lái)的問(wèn)題了。