Ficam quebrando a cabeça e não chegam a solução alguma. Ou pior, algum "expert" diz que "o menu abriu certinho no meu computador, deve ser o seu que está com problema..." Dentro da simplificação da burrice humana, esta é uma resposta muito habitual.
Pesquisei, mais ou menos uns 10 minutos e vi que muitos americanos, inclusive nas faqs sobre CSS da própria Microsoft falavam em "renderização" da página da web de forma diferente nos Explorers 7 em diante. O que é isso? Não interessa para você, nem para ninguém.
Ocorre que para os menus CSS, e outros (flash, activeX etc) serem mostrados corretamente nos Explorers e apenas neles, é preciso que o USUÁRIO, marque uma opção na configuração do Explorer. Aqueles tais "experts" que não encontram o erro, tem essa opção marcada. Mas não podemos IMAGINAR que o usuário vai marcar, ou vai saber marcar, ou vai acreditar em nós e marcar a nosso pedido. Tinha que haver outra forma e há.
Verifique a PRIMEIRA LINHA do código de sua página com problemas. Se sua codificação é recente (últimos 3 ou 4 anos) é provável que ela esteja assim, ou semelhante a isso. O que significa? Não importa.
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
É nessa tal especificação do DocType (tipo do documento) que está toda a confusão feita pela Microsoft. É preciso incluir um parâmetro que leva à definições do consórcio W3.org e diz que a página deverá ser renderizada (esquece isso, só use...) na qualidade mais alta, sempre. É essa qualidade que o Explorer exige. Diferença visual? NENHUMA, exceto que os menus CSS vão funcionar!!!
Então basta trocar a primeira linha para:
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"
Vai fundo. Copie e cole! Acabei de fazer isso e resolvi o problema que não conseguia resolver. No fim das contas, todos os CSS que programei estavam absolutamente corretos. A Micosoft é que estava absolutamente errada e cada vez mais trilhardária nos empurrando os erros dela goela abaixo!
Sugiro testar e usar está primeira linha em todas as suas páginas. Sei que dá trabalho. Se for começar o site, comece certo. Vá trocando a linha a medida em que for atualizando páginas.
ATENÇÃO! EM AMBOS CASOS A LINHA FICA ENTRE < >, MAS SE COLOCAR ISSO NUMA POSTAGEM DO BLOGGER, A LINHA SIMPLESMENTE NÃO É MOSTRADA - DESCOBRIMOS MAIS UM BUG...
ATENÇÃO! EM AMBOS CASOS A LINHA FICA ENTRE < >, MAS SE COLOCAR ISSO NUMA POSTAGEM DO BLOGGER, A LINHA SIMPLESMENTE NÃO É MOSTRADA - DESCOBRIMOS MAIS UM BUG...