CSS教程:div設置float后高度不自動增加
互聯(lián)網 發(fā)布時間:2008-10-17 19:24:40 作者:佚名
我要評論
相關文章:http://www.webjx.com/css/divcss-4952.html
http://www.webjx.com/css/divcss-5991.html
本來想把這個題目修改為“閉合浮動元素”或“清除浮動元素”,但想了一下,還是不修改為好。因為從這個題目我們可以更加容易的看出,如
相關文章:http://m.fzitv.net/css/divcss-4952.html
http://m.fzitv.net/css/divcss-5991.html
本來想把這個題目修改為“閉合浮動元素”或“清除浮動元素”,但想了一下,還是不修改為好。因為從這個題目我們可以更加容易的看出,如果您沒有閉合(清除)浮動元素,它將造成的后果是-----div的高度不能自動增加。
言歸正傳
目前用來清除“閉合(清除)浮動”的方法,主要是一下四種:
1.額外標簽法
這種方法就是向父容器的末尾再插入一個額外的標簽,并令其清除浮動(clear)以撐大父容器。這種方法瀏覽器兼容性好,沒有什么問題,缺點就是需要額外的(而且通常是無語義的)標簽。
我個人不喜歡這種方法,但是它確實是W3C推薦的方法
<div style="clear:both;"></div>
或者使用 <br style="clear:both;" />
2.使用after偽類
這種方法就是對父容器使用after偽類和內容聲明在指定的現(xiàn)在內容末尾添加新的內容。經常的做法就是添加一個“點”,因為它比較小不太引人注意。然后我們再利用它來清除浮動(閉合浮動元素),并隱藏這個內容。
這種方法兼容性一般,但經過各種 hack 也可以應付不同瀏覽器了,同時又可以保證html 比較干凈,所以用得還是比較多的。
#outer:after{
content:".";
height:0;
visibility:hidden;
display:block;
clear:both;
}
3.設置overflow為hidden或者auto
這種做法就是將父容器的overflow設為hidden或auot就可以在標準兼容瀏覽器中閉合浮動元素.
不過使用overflow的時候,可能會對頁面表現(xiàn)帶來影響,而且這種影響是不確定的,你最好是能在多個瀏覽器上測試你的頁面
4.浮動外部元素,float-in-float
這種做法就是讓父容器也浮動,這利用到了浮動元素的一個特性——浮動元素會閉合浮動元素。這種方式在 IE/Win 和標準兼容瀏覽器中都有較好的效果,但缺點也很明顯——父容器未必想浮動就浮動的了,畢竟浮動是一種比較特殊的行為,有時布局不允許其浮動也很正常。
個人不是很贊成這種做法,但是從dudo最后的總結總可以看出,他好像很贊成這種做法
相關文章
- 當一個元素只包含浮動元素的時候,它會出現(xiàn)高度折疊,即元素的上下底邊重合,和高度為0效果一樣,針對這個問題與大家分享四種解決方法,感興趣的你可以參考下本文或許對你2013-03-04
- 剛入門網站設計布局的開發(fā)者肯定會碰到這樣的問題,那就是當子容器全部浮動的時候,父容器的高度不能自動撐開,今天偶也遇此問題,需要了解的朋友可以參考下2012-12-27
- 翻譯自Matthew James Taylor的Equal Height Columns with Cross-Browser CSS and No Hacks,有些部分根據我的理解改了,讓一些初心者更好理解。2009-11-12
- 由于浮動的元素脫離了文檔流,所以它們不會在網頁文檔中占據空間。如果一個DIV容器中想要包含這些浮動的元素的話,有兩種辦法。2011-08-02
- 在進行浮動布局時,大多數(shù)人都深知,在必要的地方進行浮動清理:。2009-09-03
- 在網頁制作中經常會用到浮動。用了浮動就會涉及到一個清除浮動的問題,因為包含浮動的元素是不會自動適應高度的,也就是不會被浮動元素撐開。2010-07-23
- 在ie8、chrome瀏覽器中,包裹浮動的li元素的外層ul高度為0,ie7瀏覽器和ie8兼容模式顯示正常,下面與大家分享下多種解決方法大家可以根據情況自由選擇,希望對大家有所幫助2013-07-31

