Mi sa che non hai capito che cosa significa il float...

Gli oggetti floated, per definizione, non fanno MAI ingrandire il loro contenitore: per ottenere questo effetto devi usare dei trucchi come l'auto clear:

.autoclr:after
{
clear: both;
height: 0;
content: ".";
display: block;
visibility: hidden;
}

che se dai class=autoclr a una div fa si che quell contenga i suoi float.

Detto questo, tieni presente che comunque è impossibile dire a una div floated di utilizzare "tutto lo spazio restante" quindi comunque devi affibbiargli una larghezza, magari in percentuale, oppure evitare di "floatarla"...