28173 sujets

CSS et mise en forme, CSS3

Bonjour,
celà a peut-être été traité quelque part, mais je ne vois pas Smiley murf ...

je donne un style à des <li> comme suit :

.monUL li {
  background : url(fondBasique.png) ;
}

puis je spécifie une <li class="liSelectionnee"> :

.liSelectionnee {
  background : url(fondBrillant.png) ;
}


Malheuresement, la classe ne se supperpose pas et semble ne pas prévaloir sur la balise.
Du coup je passe par une id plutôt qu'une classe pour imposer ce second style, mais comme elle est utilisée plusieurs fois, c'est pas bien.

Avez-vous des solutions ?

Merci d'avance.
g i b o o
Modifié par Giboo (24 Oct 2006 - 23:52)
Tu veux dire que
.classe1 li
est prioritaire sur
li.classe2
?

C'est tout à fait normal, car ça correspond au calcul du poids (et donc de la priorité) des sélecteurs.
Cf. http://openweb.eu.org/articles/cascade_css/ (en particulier l'étape 3).

Ici, tu peux faire ainsi :
.classe1 li.classe2
	/* priorité 0021 : deux classes, un élément HTML */

Qui aura la priorité sur les deux sélecteurs suivants :
.classe1 .classe2
	/* priorité 0020 : deux classes */
.classe1 li
	/* priorité 0011 : une classe, un élément HTML */[
li.classe2
	/* priorité 0011 : une classe, un élément HTML */

Modifié par mpop (24 Oct 2006 - 22:17)
Merci ! Smiley ravi
C'est exactement ce que je voulais savoir !
Et jusqu'à présent, je trouvais ça assez empirique... Smiley langue