devo realizzare una barra contenente un menu lunga quanto la finestra, solo che non ci riesco, secondo me non c'è soluzione a meno di non usare qualche hack

il codice che ho è

<div class="menu">
Pagina Principale
Pagina Principale
Pagina Principale
</div>

(è solo una prova semplificata, dopo userò UL)

div.menu
{
background-color:green;
width:100%;
}

div.menu a
{
background-color:green;
padding:5px;
border-right:1px black solid;
display:block;
float:left;
}

con internet explorer si vede come vorrei
però su mozilla si vede correttamente, ossia il div container, dato che contiene solo elementi float, non si allarga a seconda del contenuto
adesso come faccio ad avere lo stesso risultato di ie su mozilla?

io avrei usato display:table table row e table cell, che è il metodo corretto ( al contrario di float) solo che non è supportato da internet explorer

inline neanche a dirlo, i padding e i margin non vanno quindi niente
ho provato a sparare nella soluzione sopra un div clear both ma per qualche oscuro motivo non va... cosa mi consigliate?

grazie 1000!