Como no veo tu html, tengo algunas dudas
ul.menu ul ul {left:148px; top:-1px;}
Tenés 3 listas anidadas?
En principio tenes un problema porque tu lista tiene un ancho específico, por lo cual, siendo el contenido de tus menues tan dispar, ya no podés usar porcentajes
como sea este ejemplo e solo para que te orientes
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> ul#menu {
margin: 0px;
padding: 0px;
height: auto;
background-color: cyan;
width: 782px;
}
ul#menu li {
float: left;
list-style-type: none;
background-color: #413A25;
margin: 0px;
padding: 0px;
}
ul#menu li a{
display :block;
text-decoration: none;
background-color: #958657;
padding: 2px;
height: 26px;
width:122px;
font-family: arial;
font-size: 12px;
text-align: center;
line-height: 30px;
vertical-align: middle;
}
ul#menu li a:hover{
background-color: #64BD2F;
}
<li><a href="#">inicio
</a></li> <li><a href="#">información corporativa
</a></li> <li><a href="#">serveis
</a></li> <li><a href="#">presupuesto
</a></li> <li><a href="#">treballa amb nosatres
</a></li> <li><a href="#">contacto
</a></li>
Si ejecutas este ejemplo vas a ver que en todos los navegadores se comporta igual, pero con un defecto, el texto de "información corporativa" se trunca y desplaza hacia abajo, ya que obviamente no entra en los 122px de ancho, asi que vas a tener que sacar un par de cientas para restar a tus menues inicio, serveis, presupuesto y contacto, algunos pixeles para asignarlos a "información corporativa". a la hora de calcular nunca olvides que los paddings, en este caso de los tag <a>, se deben de sumar al width para calcular sobre los 782px del total de tu ul
Saludos