CSS佈局--overflow:hidden的清除效果

CSS佈局–overflow:hidden的清除效果

來自《精通CSS》閱讀的思考:

原文使用兩列的浮動佈局,首先設置兩列內容爲float,並設置display:inline-block,以此防止IE中雙外邊距浮動產生的bug,然後在兩個浮動元素的父元素應用了overflow:hidden

原文:因爲這些元素是浮動的,它們不再在文檔流中佔據任何空間,這會導致頁腳上升。爲了避免這種情況,需要對父元素應用溢出方法,從而清理浮動元素。

overflow:hidden 的原義是超出的部分要裁掉隱藏
當父元素的高度沒有顯式設置,爲默認值height:auto,且只包含浮動元素時,由於float元素脫離文檔流,他的高度不計算在父元素中,正常的父元素height應該爲0,但是在給父元素加上overflow:hidden後,進行裁剪前,父元素會首先計算height: auto;的真實高度,由於其觸發了BFC,需要包含子元素,所以高度不是0,而是子元素高度。根據BFC規則浮動元素不僅沒有被剪裁掉,還能達到清除浮動的效果。

詳細介紹BFC(Block formatting context)的好文:
http://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html

發佈了42 篇原創文章 · 獲贊 34 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章