我知道清理浮動的舊學校方法是明確的類:兩者,並且它一般已經過時。清除浮動沒有顯示屬性
我知道新的學校方法是寬度:100%;溢出:自動或隱藏;
但是,當我的內容動態擴展超出父容器的邊界時,我無法使用新的學校方法。在這種情況下,有沒有比明確更好的方法:兩者?
我知道清理浮動的舊學校方法是明確的類:兩者,並且它一般已經過時。清除浮動沒有顯示屬性
我知道新的學校方法是寬度:100%;溢出:自動或隱藏;
但是,當我的內容動態擴展超出父容器的邊界時,我無法使用新的學校方法。在這種情況下,有沒有比明確更好的方法:兩者?
她是對的,我在努力鞏固發佈了一箇舊的線程,但根據HTML5的樣板,這是事實上的clearfix現在:
http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified/
.clearfix:before, .clearfix:after {
content: "\0020"; display: block; height: 0; visibility: hidden;
}
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
我們使用<br>
清除這裏,所以我對新的學校風格不感興趣。抱歉。
有兩種「新學校」的方法。一個是溢出,另一個是clearfix。
新學校#1:
#el {
overflow:hidden;
zoom:1;
}
的任何東西,但visible
溢出值創建這將導致一個新的塊格式化上下文浮被自動清除。
新校#2:
#el:after {
content:"";
clear:both;
display:block;
}
#el { zoom:1; }
的clearfix基本上產生一個可見的空白字符「元件」是塊級和元件之後清除的區域。這是一個CSS替代插入一個空白的div,爲你清除。
如果您需要超出邊界的元素,請使用#2。否則,請使用#1。 zoom
觸發hasLayout,並導致el在IE7之前包含浮點數。 IE7 +瞭解overflow:hidden
。
編輯:正如Grillz指出的,content: "\0020";
實際上是clearfix最新的最新屬性值,如果你走這條路線。有一個渲染錯誤發生在空白處,可以通過指定而不是週期,空字符串或空格字符串來解決。
+1是正確的,並解釋整個事情。 – 2010-11-19 21:35:46
此線程應該有所幫助:http://stackoverflow.com/questions/211383/which-method-of-clearfix-is-best – 2010-11-19 19:04:57
@Grillz - 選擇的答案已過時並且非常糟糕的做法。 – 2010-11-19 21:13:34