Высота, указанная в%, не будет учитываться браузером (редактировать: я имею в виду, что они не будут работать так, как вы ожидаете).
Вам нужен очищающий div внутри вашего <div id="container">
div. Вот где вы должны его разместить:
<div id="container">
<div id="logo">...</div>
<div id="menu">...</div>
<div id="content">...</div>
<!-- HERE -->
<div style="clear: both;"></div>
</div>