<解決策4> containerボックスに clearfix の手法

A
B
CSSソース
#header { width: 100%; }
#container { width: 100%; }
#container::after {  
 display: block;
 content: " ";
 clear: both;
}
#boxA { float: left; width: 35%; }
#boxB { float: right; width: 65%; }
#footer { width: 100%; }
HTMLソース
<div id="header">header</div>
<div id="container">
 <div id="boxA">A</div>
 <div id="boxB">B</div>
</div>
<div id="footer">footer</div>

水色の線はAボックス、緑の線はBボックス、 グレーはcontainerボックス(親ボックス)、------はclearfixの手法で出来た見えないボックスです。

※ AボックスとBボックスには、box-sizing を指定していますので、未対応のブラウザでは正しく表示されないかもしれません。