Tout d'abord, je t'invite à installer Opera : tes déroulés sortent de l'écran par le haut...... Opera n'est pas lourd et trouvera sans causer de soucis une petite place dans tes applis Web, ne serait-ce que pour tes tests (comme chez moi)..
Pour IE, il faut bien avoir à l'esprit que les dimensions 'width' et 'height' ne sont pas fixes.. Elles se comportent comme des 'min-width' et 'min-height' que d'ailleurs IE ne reconnaît pas (pas plus, d'ailleurs, que les 'max-width' et 'max-height' ; comme tout ce qui est 'min-' ou 'max-', en fait)..
Dans un navigateur respectueux, une dimension 'width' ou 'height' est
fixe et si le contenu doit déborder,
il débordera (sauf en utilisant la propriété '
overflow' qui contrôlera ce débordement) ! Dans IE (sauf avec l'usage d' '
overflow'), il fera s'agrandir le conteneur (très probablement ce qui se passe dans ton cas avec ton
a { display: block; } "spécial IE", à cause de la mise en "bloc" de l'élément) : dans ton menu, tes cellules de menu me paraissent particulièrement peu hautes par rapport au texte contenu.. Une soluce, ne pas leur fixer de hauteur ou alors une hauteur variable fonction du contenu - ici du texte - du genre '
height :1.5em'..
Gare aussi aux pseudo-classes : si IE reconnaît bien
:hover,
:active et
:visited (les plus courantes car généralement associées à l'élément <a>), ce n'est pas forcément la même chanson pour les autres du genre
:before,
:after,
:first-child etc.. En clair, IE reconnaît plutôt bien les certaines pseudo-classes généralement associées à l'élément <a>, mais il est bien plus dur de la feuille avec les autres pseudo-classes et/ou quand on les applique à d'autres éléments.....
A relire le menu proposé par AlsaCréations dont j'ai parlé plus haut, je vois qu'il ne pose aucun pb quel que soit le navigateur, qu'il fait précisément ce que tu désires, mais - car il y a un "mais" - qu'il passe exclusivement par l'emploi de JavaScript pour son comportement
![:ange: :ange:]()
..
Alors voici une autre piste que je viens de retrouver, réduisant l'emploi du JS uniquement à IE (c'est ce que j'utilise sur mon site et pas que pour les menus
![;) ;)]()
) :
La vengeance des menus déroulants >> http://pompage.net/pompe/deroulants/..
D'ailleurs, mettre des liens "généraux" directement dans la barre principale de ton menu est un très bon choix : pour IE et en cas de désactivation de l'exécution des scripts, ton site reste navigable..