2
清除一組浮標的最常見方式是在父母的:after
僞元素上使用clear:both;
。例如:清除兒童浮標不清除「外部」浮標
.group:after {
visibility: hidden;
display: block;
content: "";
clear: both;
height: 0;
}
* html .group { zoom: 1; } /* IE6 */
*:first-child+html .group { zoom: 1; } /* IE7 */
這在大多數情況下都能正常工作,但在浮動元素中浮動元素時失敗。 它清除全部浮游物,不只是兒童浮游物。
固定的一種可能的方式,是通過添加
.group {
display:inline-block;
}
但是,這會產生有害的副作用。
是否有結算的任何方式獨生子女浮動,而不是一個頁面上的每個浮動,?
這個作品真的很好,謝謝。 haslayout可以由'zoom:1;'觸發。 – ddlshack
我喜歡避免使用縮放:1,如果我可以,只是因爲它看起來像一個冗餘的聲明。但是,如果你真的使用這種方法結束測試,在IE中進行測試,並且我認爲大部分時間它都可以在沒有任何調整/黑客的情況下工作。我有一種感覺,它可能是IE6有時會導致我的問題,因爲我注意到在IE中出現任何清理浮動問題的年齡。 –
如果需要觸發hasLayout,它不是多餘的。如果它只是IE6有這些問題,我不會打擾它支持它,因爲它是一個非常過時的瀏覽器。 – ddlshack