ここで、clearfix のかなり異なる方法を見ました: http://www.marcwatts.com.au/blog/best-clearfix-ever/
clearfix を自動化し、クリアしたい要素に「clearfix」または同様のクラスを追加する必要がない次の CSS コードを追加することを提案しています。
/* our Global CSS file */
article:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
aside:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
div:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
footer:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
form:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
header:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
nav:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
section:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
ul:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
/* our ie CSS file */
article { zoom:1; }
aside { zoom:1; }
div { zoom:1; }
footer { zoom:1; }
form { zoom:1; }
header { zoom:1; }
nav { zoom:1; }
section { zoom:1; }
ul { zoom:1; }
この方法に欠点はありますか? これにより、必ずしも clearfix を必要としない要素を clearfix することになるのでしょうか? それとも、これがあらゆる状況を説明するような規則ですか?