risolvi aggiungendo la dichiarazione overflow:hidden; alla regola dove hai inserito il background.

ti faccio notare che il comportamento errato non è di firefox o chrome ma bensì di internet explorer . Come al solito si tratta di un bug, che si verifica quando un div contenente altri blocchi flottanti assume width divesa da auto e height:auto.
codice:
<div id="content" style="background-image:url(img/bg-sfondo.jpg); background-repeat:repeat-y; width:980px; height:auto; margin:auto; overflow:hidden;">