He mirado tu código y es lo de siempre: cuando alguien hace un código, además en una cosa un tanto peliaguda como esta, seguramente cada pequeño detalle tiene su razón de ser, es decir, que si modificas algo deberás mirar inmediatamente si ha ocurrido algo, si no te llevarás sorpresas como esta, y lo que no se debe hacer es modificar algo sin tenerlo muy claro y luego pensar "qué pasa que no funciona".
Vuelve a poner el float left que has eliminado de este selector:
Cita: #menu ul li.nivel1 {width: 150px;
float: left;}
Aparte de eso, pon como te digo un doctype o no conseguirás que se vea ni funcione en IE7:
Cita: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
Por último, ya sabes que yo te voy a decir que no sé para que usas ahí una tabla, pero bueno, es la forma de hacer de cada uno. Para no repetir los ID y no cuadriplicar como has hecho con la hoja de estilo, cambia los id="menu por class="menu" y en la css los #menu por .menu y todo será más fácil.