Vu que tu utilises des floats rappelle toi que le flottement ne s’arrête que lorsque tu le codes explicitement par un clear:both à la fin
je schématise:
tu a un div conteneur (celui ou il y a l'arrière plan et qui doit descendre jusqu’à la fin)
et à l'intérieur tu as plein de div avec des floats left right etc..
avant de fermer ton div conteneur tu doit annuler le comportement (flottement à droite ou à gauche) par un clear:both via ce div <div style="clear:both;"></div>
<div> <---- conteneur
<div> <---- menu float right ou left
....
....
</div>
<div> <---- menu float inverse (si l'autre est left celui ci et right et inversement
....
....
</div>
<div style="clear:both;"></div> <---- rajoute ca avant de ferme ton conteneur
</div> <--- fin de mon div conteneur
j'espère que c'est claire :)
bonne continuation