Je cherche un menu imbriqué qui peut avoir différentes images d'arrière-plan, ci-dessous est le code qui fait tout, afficher des sous-nœuds avec différentes couleurs lorsque survolé, mais je veux une image de fond différente lien et une image distincte pour les sous-nœuds. Actuellement, cela fonctionne en utilisant des couleurs. (La taille de chaque image pour les liens sera différente)menu horizontal avec différente image de fond pour chaque li
<div class="TopMenu">
<ul class="myMenu">
<li><a href="Home.aspx">Home</a></li>
<li><a href="About-Us.aspx">About us</a></li>
<li><a href="Products-For-Sale.aspx">For sale</a>
<ul>
<li><a href="Bedsheets-For-Sale.aspx">Bedsheets</a></li>
<li><a href="Rugs-For-Sale.aspx">Rugs</a></li>
<li><a href="Accessories-For-Sale.aspx">Accessories</a></li>
</ul>
</li>
<li><a href="News.aspx">News</a></li>
<li><a href="Services.aspx">Services</a></li>
</ul>
</div><!--TopMenu-->
/*style the main menu*/
#header .myMenu {
margin:0px;
padding:0px;
list-style:none;
text-transform:uppercase;
position:absolute;
z-index:300;
left:28px;
top:108px;
width:952px;
}
#header .myMenu li
{
list-style: none;
float: left;
background-color: #4dafde;
line-height: 25px;
margin-right: 3px;
}
#header .myMenu li a:link, .myMenu li a:visited
{
display: block;
text-decoration: none;
background-color: #4dafde;
padding: 0.5em 2em 0.5em 2em;
margin: 0 0 0 0;
}
#header .myMenu li a:hover {
background-color: #A4D6EE;
}
/*style the sub menu*/
#header .myMenu li ul
{
position: absolute;
visibility: hidden;
margin: 0;
padding: 0;
background-color: #4dafde;
}
#header .myMenu li ul li {
display:inline;
float:none;
}
#header .myMenu li ul li a:link, .myMenu li ul li a:visited
{
display:block;
width: auto;
text-decoration: none;
}
#header .myMenu li ul li a:hover
{
background-color: #A4D6EE !important;
}
Toute aide ou suggestion sera grandement appréciée. Thnx
En utilisant les sélecteurs de plus en plus plus imbriqués pour chaque élément de menu, il sera très difficile de maintenir. Que faire si vous voulez revenir en arrière et changer la couleur/image du 5ème élément dans le menu en 3 mois. Comment trouvez-vous le sélecteur dans le css? Vous pouvez utiliser des sélecteurs beaucoup plus précis, comme décrit dans la réponse ci-dessous. – Nico
mais le nième enfant n'a pas de support dans IE 7, 8. Sinon, ce serait une bonne chose à essayer: quelque chose comme ul li: nth-enfant (n + 1) {background-image: url ('/ images/01. png '); } –
Ajoutez donc une classe ou un ID distinct à chaque élément. C'est une solution plus propre et plus facile à maintenir de toute façon. Par exemple. vous n'aurez pas à regarder le HTML pour savoir ce que changera le CSS. – Nico