Prueba a poner:
Código HTML:
<div style="clear: both;"></div>
Eso debería ir justo detrás de #derecha, dentro de #contenedor. Cuando utilizas floats siempre suele pasar eso, así que tendrás que colocar debajo un elemento con clear: both para fixearlo.
Saludos.