無意中看到的一個非常不錯的小技巧.是關於用CSS處理閉合浮動元素的方法,收藏了.
關於閉合浮動元素(clearing float)的方法現在已經很多了,你還不了解的話去old9的blog看看,有一篇閉合浮動元素。
這些方法我最喜歡就是 使用:after 偽類動態的嵌入一個用來清除浮動的元素,可惜程式碼量太大了,看著不夠簡潔。現在我看到有個方法超簡單。趕緊介紹一下。原文在:http://annevankesteren.nl/2005/03/clearing-floats
原理是這樣的,外圍元素之所以不能很好的延伸,問題出在了overflow上,因為overflow不可見。見W3C的解釋
引用內容:
In addition, if the element has any floating descendants whose bottom margin edge is below the bottom, then theheight is below the bottom, then theheight is below the bot children of the element itself or of descendants in the normal flow are taken into account, e.g., floats inside absolutely positioned descendants or other floats are not.
現在只要將給外圍元素添加一個overflow:auto;就可以解決問題,
現在只要將給外圍元素添加一個overflow:auto;就可以解決問題,這是除了結果。下來就要解決ie的問題了,加上_height:1%; ,這個問題就完全解決了。
以下是我做的三個例子作為比較
1.沒有閉合浮動元素
2.非IE下閉合浮動元素
2.非IE下閉合浮動元素