清除浮動的幾種方法
1. 投機取巧法
就是直接一個<div style="clear:both;"></div>放到當作最后一個子標簽放到父標簽那兒,此方法屢試不爽,兼容性強,使用方便,是初學時使用的上佳之選。但是我從來不用,因為我看到的是個巨大的浪費,浪費了一個標簽,而且只能使用一次,我個人是無法容忍的,所以這個方法不推薦。而且有時候一不留神中間多了個空格會產生一段空白高度的。
2. overflow + zoom方法
.fix{overflow:hidden; zoom:1;}
此方法優(yōu)點在于代碼簡潔,涵蓋所有瀏覽器,可謂不錯的選擇啊。不過也是有問題的,就是這個overflow:hidden;是個小炸彈,要是里面的元素要是想來個margin負值定位或是負的絕對定位,豈不是直接被裁掉了,所以此方法是有不小的局限性的。我一般不用這個方法,只是有時候順便去除浮動時用用。
3. after + zoom方法
先來簡單講講after,所謂after,就是指標簽的最后一個子元素的后面。于是呢,我們可以用CSS代碼生成一個具有clear屬性的元素,其中的關鍵樣式就是content了;蛟S您從網上看到的content里面的內容是”.”一個點,我了很多次,貌似隨便寫什么東西都沒有問題,比如content:'clear both';沒問題,或是content:'佰億'也是ok的。于是有:.clr{zoom:1;}
.clr:after{display:block; content:'clear'; clear:both; line-height:0; visibility:hidden;}
這里的line-height:0寫成height:0也是可以的。此方法可以說是綜合起來最好的方法了,我都是用這個樣式清除浮動的,不會影響任何其他樣式,通用性強,覆蓋面廣,我很推薦哦。