この記事は最終更新日から2年以上が経過しており、情報が古くなっている可能性があります。

今さらに過ぎる感も有りますが、未だにXPマシンでIE8以前のブラウザを頑に使用し続けているクライアントさんも少なくないので、ダブルマージンなどの不具合が生じた際の対応をメモっておきます。
CSSハックでもないです。
要はclearfixなんですが、新要素にいちいち.clearfixを指定するのも鬱陶しいのでこうしたほうがいい気がします。

header:after, main:after, footer:after, article:after, nav:after, section:after, address:after {
content: '';
display: block;
clear: both;
overflow: hidden;
}