probá con lo siguiente:
#footer{
clear:both;
}
esta propiedad hace que el footer (q es un div) no permita que se flote nada a su alrededor.
Recuerda jugar con las propiedades margin-bottom y padding-bottom de ser necesario
mira esta página que encontré recien:
http://www.cssblog.es/fixed-footer-b...ss-definitivo/
Saludos!
p/d: espero te sirva, cualquier duda postea el código asi no tenemos que des-encriptarte XD.