28172 sujets

CSS et mise en forme, CSS3

Voilà je rencontre un problème dans mon menu vertical.
Je voudrais changer de couleur de fond dans deux li.
Malheureusement le changement de couleur n'est pas prise en compte.




<div id="menugauche">....
<ul>
<li>...</li>
<li id="sousmenu">...</li>
<li>...</li>
<li>...</li>
</ul>
</div>



#menugauche ul {
margin:0;
padding:0;
list-style-type: none;
}
#menugauche li {
height: 23px;
padding-left: 10px;
text-align: left;
background: url(monimage);
}
#menugauche li a{
color: white;
}
#sousmenu {
background: Black;
}
Malheureusement je voulais rajouter une class à un div en-dessous.
Et ça ne fonctionne pas

<div id="menugauche">....

<ul>
<li>...</li>
<li id="sousmenu">...</li>
<li class="sousmenupage">...</li>
<li class="sousmenupage">...</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>

</div>



.sousmenupage {
background: Black;
}


Le problème c'est que j'ai plusieurs class dans ce menu.
La seule solution que j'ai trouvé à mon problème c'est de nommer explicitement chaque <li>
Mais je trouve ça un peu lourd.
Y'a pas un moyen d'empêcher ça.
Modifié par azzurro (30 Oct 2009 - 16:51)
J'ignore s'il y a myen d'éviter ça, personnellement c'est ce que j'ai dû faire sur mon site, pour chaque nom de menu, sous menu et sous-sous menu.

mais pour ta classe si tu ajoute le li avant ça devrait fonctionner, comme pour le id plus tôt.
Maintenant que chaque class de li est bien spécifiée y'a plus aucun soucis.
Ca alourdit un peu le fichier htm.

Dommage..
Bonjour,

Le conseil de Laurie-Anne était bon, mais il n'a d'intérêt que si l'on comprend par la suite le fond du problème. Le fond du problème, c'est la priorité des sélecteurs:
http://openweb.eu.org/articles/cascade_css

Bonne lecture, concentrez-vous bien (c'est un peu théorique), et bonne continuation. Smiley smile