Simple, dale a tu div padre lo siguiente para firefox:
Código:
min-height:50px;
overflow:hidden;
y si quieres dejar un espacio entre el fondo de los que tienen float, entonces:
paddig-bottom:20px;
Y listo, con eso te ahorras el sufrimiento, pero eso es solo para firefox, opera chrome y etc, para el ie, puedes poner un comentario condicional que diga:
Código:
*html #tudiv {
height: 50px;
overflow:visible;
padding-bottom:20px;
}