Menu de survol CSS: obtenir un élément de menu survolé pour conserver l’état CSS survolé

entrez la description de l'image ici

entrez la description de l'image ici

Dans cette situation, comment pourrais-je obtenir le réglage permettant de conserver l’état survolé pendant le lancement des éléments de menu? Existe-t-il un moyen uniquement CSS ou devrais-je introduire du javascript? Merci.

C’est possible avec juste css.

Par exemple: Si votre menu est composé de listes nestedes:

li:hover { background: #color; } li:hover ul { display: block; } li:hover ul li {} 

Fiddle: http://jsfiddle.net/maniator/ZC4xv/

CSS de l’exemple ci-dessus:

 #nav-menu > li { background: orange; float: left; padding: 10px; border: 1px solid grey; } #nav-menu > li:hover a { background: red; padding: 2px; display: inline; } #nav-menu > li ul { display: none; position: absolute; } #nav-menu > li:hover ul { display: block; margin-left: 5px; } #nav-menu > li:hover ul li { background: blue; } #nav-menu > li:hover ul li:hover { background: green; } 

En supposant que le sous-menu soit une liste nestede, vous pouvez utiliser jQuery pour append une classe de survol à l’élément de menu parent:

 
  • Menu Item 1
  • Menu Item 2

Essayez avec un élément de niveau supérieur dans une balise span. En supposant:

 
  • Setting
      ...
  • Alors ceci est pour CSS:

     li:hover span { background: #color; display: block; } li:hover ul { display: block; }