Il contenitore principale non si espande perché i contenuti sono flottati.
Esistono vari work-around per farlo espandere. Il più veloce anche se, a mio avviso, non il più elegante, consiste nell'applicare un overflow:hidden al contenitore.
Un altro modo consiste nel definire un after simile a questo:
codice:#works:after { content: ""; display: block; clear: both; }