J'essaie de mettre en œuvre un menu de navigation déroulant à plusieurs niveaux en CSS uniquement, mais il y a une petite partie que je n'arrive pas à faire fonctionner correctement.
Ce qui devrait se passer :
1) Lorsque l'on passe la souris sur un élément de menu, celui-ci devrait être mis en évidence en utilisant une image différente (cela fonctionne bien). 2) Lorsque vous survolez un élément de sous-menu, l'élément de menu parent doit être mis en évidence.
Le point 2 fonctionne bien jusqu'à ce que j'aie une classe .bottom sur l'élément de menu parent (cette classe est utilisée car l'image est légèrement différente). Si l'élément de menu parent a la classe .bottom, la mise en évidence ne se produit tout simplement pas.
Une démonstration de ce système peut être consultée ici : http://jsfiddle.net/cZFtW/2/
La démo montre qu'en survolant Menu 1 > Sous-menu 3 > Sous-menu X, le Sous-menu 3 est mis en évidence. Cependant, lorsqu'on passe la souris sur le menu 2 > Sous-menu 3 > Sous-menu X, il n'y a pas de surbrillance.
Quelqu'un peut-il voir ce que je manque ? D'ailleurs, il n'y a pas de raison de ne pas utiliser Javascript ici, je préfère simplement que tout soit géré par CSS si possible (il suffit de supporter IE7+).