Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Class CSS par défaut sauf un cas

4 réponses
Avatar
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

4 réponses

Avatar
Lea Gris
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>
<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é)



En CSS3 :

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

Voir ici :
<http://www.w3.org/Style/css3-selectors-updates/WD-css3-selectors-20010126.fr.html#negation&gt;

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

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.



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
Avatar
yamo'
Salut,

Dominique Ottello a tapoté, le 24/06/2010 17:37:
Je voudrais appliquer une classe pour tous les <a...>..</a> SAUF pour
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
Avatar
Dominique Ottello
yamo' écrivait :

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.