今さらに過ぎる感も有りますが、未だに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; }