解決編
どうもネガティブマージンを使用する必要がなかったというオチだったようです。
ネガティブマージン
ネガティブマージンの仕組みは、下のmarginとしてマイナス方向、つまり遙か下方にボックスを配置させます。このままですとボックスは見えない位置(overflow:hidden)に配置されますが、paddingとして同じだけ下に余白をとり本来の一に表示させるという仕組みです。
padding-bottom: 32768px; margin-bottom: -32758px;
ネガティブマージンを使うと指定したボックスの高さが最大まで広がる効果があります。このままですと下に大きなボックスとなりますが、その余計に広がった部分に関してoverflow:hiddenで隠すと、高さの違うボックスをそれぞれいっぱいまで広げることができます。
このTipsを使う事で高さが揃わないサイドバーとコンテンツを同じ高さに揃えることができるわけですが、サイドバーなどの背景として画像などを使用せず、親コンテナの背景画像で十分なケースの場合、わざわざネガティブマージンで広げなくともoverflow:hiddenで十分という事でした。
%で指定した場合のfloat
コメントより
大枠に対して中の枠の横幅合計がジャストだったため、mainのfloatだけで左寄せにならなかった。
これは知らなかったのですが、どうもfloatで2カラムレイアウト等を行う場合、それぞれのボックスの合計が100%にすると上手くfloatできない事があるようです。どこを探しても「ブラウザによって〜」とか「バグのようで〜」などとお茶を濁され、どうしてそうなるのかのソースは発見できませんでした。
自分が推測するに、%指定の場合親コンテナの幅から計算されるわけですが、この結果に誤差が生じると親コンテナの合計よりも大きくなるケースがあるのでは?と考えます。
例えば、親コンテナが501pxとして、50%を2つ並べたとします。もし、501pxの50%の計算結果が250pxではなく251pxだったとしたら(四捨五入とすればありえますね)、2つのコンテナを合わせて502pxとなりfloatできない、そんな理由なのではないでしょうか?
そう考えるとpx指定ならば大丈夫だけどぴったり100%にはしない方がいいというノウハウも納得できます。納得できないと使いたくないのはプログラマ脳ですねw