Puse padding-top donde tendría que haber ido padding.
Corregido queda.
El problema que tienes realmente es que estás calculando todo muy manualmente. No sé porqué fallará en IE8, tampoco puedo ir a verlo porque no tengo instalado IE.
Pero bueno, en lugar de hacerlo todo tan manual yo haría algo así:
Código CSS:
Ver original#menu-principal {
display: table;
width: 945px;
height: 29px;
}
#menu-principal ul {
display: table-row;
margin: 0;
padding: 0;
list-style: none;
}
#menu-principal ul li {
display: table-cell;
background-color: #C8E654
}
#menu-principal ul li a {
display: block;
padding: 7px;
border-right: 1px solid #8EB50B;
background: url(Imagenes/background-menu-boton.jpg) repeat-x;
color: #fff;
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
font-weight: bolder;
text-align: center;
text-decoration: none;
}
#menu-principal ul li a:hover {
background: url(Imagenes/background-menu-boton_over.jpg) repeat-x;
}
Así te ahorras calcular el relleno lateral, ya que los elementos de la lista se van a estirar de tal forma que ocupen siempre el ancho de #menu-principal. Según
la biblia funcionará en IE8.
Incluso puede indicar una medida relativa para #menu-principal:
Código CSS:
Ver original#menu-principal {
display: table;
width: 100%;
height: 29px;
}
Así siempre se adapta a #cabecera y te ahorras andar poniendo medidas en pixeles.