Class CSS par défaut sauf un cas

Le
Dominique Ottello
Bonjour,

Voilà le problème sur lequel je bute.

Soit une structure :
<div id='brdmenu'>
<ul>
<li><a href=.></a></li>
<li><a href=.></a></li>
<li><a href=.></a></li>

un seul li avec une classe
<li class='isactive'><a href=.></a></li>
.
<li><a href=.></a></li>
</ul>
</div>

Je voudrais appliquer une classe pour tous les <a>..</a> SAUF pour
celui qui est précédé par <li class='isactive'>

En CSS uniquement, je ne trouve pas. (Ou alors j'ai mal cherché)

Merci.
--
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Technologie aéronautique : http://aviatechno.free.fr (http://ottello.net)
Concorde dans la presse de 1965 à 2003 : http://le.pointu.free.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Lea Gris
Le #22293531
Le 24/06/2010 17:37, Dominique Ottello a écrit :
Bonjour,

Voilà le problème sur lequel je bute.

Soit une structure :
<div id='brdmenu'>
<ul>
.........
un seul li avec une classe
..........
</ul>
</div>

Je voudrais appliquer une classe pour tous les celui qui est précédé par<li class='isactive'>

En CSS uniquement, je ne trouve pas. (Ou alors j'ai mal cherché)



En CSS3 :

a:not(li.inactive>a) { ... }

Voir ici :

--
Léa Gris
Olivier Masson
Le #22293521
Le 24/06/2010 17:37, Dominique Ottello a écrit :

Je voudrais appliquer une classe pour tous les celui qui est précédé par<li class='isactive'>

En CSS uniquement, je ne trouve pas. (Ou alors j'ai mal cherché)

Merci.



li:not(.isactive) a { } // fonctionne aussi avec des id, bien sûr
C'est ok sur FF, Op, Cr, et... tu devineras jamais sur quel navigateur
ça ne fonctionne pas (trop) :)

En fait, sur IE8, c'est buggy :
:not(.class) {}
<div></div>
ne fonctionne pas, mais
:not(.class) {}
<div class='class'></div>
fonctionne. Donc, dans ton cas, ça devrait passer.

Cf. http://www.w3.org/TR/css3-selectors/#negation
yamo'
Le #22296341
Salut,

Dominique Ottello a tapoté, le 24/06/2010 17:37:
Je voudrais appliquer une classe pour tous les celui qui est précédé par <li class='isactive'>



Le plus simple serait de mettre un style sur #brdmenu ul li directement.

Et ensuite de mettre un style différent sur #brdmenu ul li.isactive.


--
Stéphane
http://pasdenom.info
Dominique Ottello
Le #22297061
yamo'
Le plus simple serait de mettre un style sur #brdmenu ul li directement.

Et ensuite de mettre un style différent sur #brdmenu ul li.isactive.



Merci à tous. En fin de compte, c'est ce que j'ai fait en attendant que
CSS3 soit supporté correctement.
Publicité
Poster une réponse
Anonyme