28172 sujets

CSS et mise en forme, CSS3

Bonjour,
j'aimerais ne sélectionner que les élément ayant une class cgb qui ne descendent pas d'une div ayant la class cover_photo mais cette règle ne fonctionne pas :

div:not(.cover_photo) .cgb {box-shadow: 0 0 3px 0 #d5d5e3}

Modifié par Hermann (12 Nov 2013 - 15:21)
Hello !

La règle fonctionne, je l'ai testée sur les dernières versions de FF et Chrome.

A+
salut
cette règle est censée fonctionner et est correctement écrite. Peut être un truc qui cloche dans ton HTML ou que ça se joue ailleurs dans ton CSS.
bonjour,

Selon le niveau de l'imbrication des éléments enfant direct ou enfant enfant, la dernière règle dans la feuille de style l'emporteras sur la première si elle sont de même poids.

Si il y a une imbrication avec une autre class déclarée dans la feuille de style, ou une imbrication dans autre chose qu'un div, la regle avec :not() est écrasée , zappée.

Si la regle :not() est declarée en dernier dans la feuille, et qu'il y a imbrication, elle écrasera les autres.

:not(.class) et .class ont le même poids et le dernier écrase le(s) précédent(s), c'est trompeur , La structure HTML ou , autrement dit, la précision du sélecteur fera la différence si celui-ci n'est pas le dernier.

Il peut aussi s'agir d'un défaut d'un navigateur particulier ?
Cdt,

<edit>
div:not(.cover_photo) .cgb {box-shadow: 0 0 3px 0 #d5d5e3}
div.cover_photo .cgb {box-shadow: 0 0 3px 0 #000}

et
div.cover_photo .cgb {box-shadow: 0 0 3px 0 #000}
div:not(.cover_photo) .cgb {box-shadow: 0 0 3px 0 #d5d5e3}

n'auront pas le même impact selon le niveau dans l'imbrication HTML de .cgb
Modifié par gc-nomade (05 Nov 2013 - 03:01)
Bonjour,
désolé de répondre si tardivement, merci Cyril pour la réponse détaillée mais ça ne vient pas de là puisque box-shadow n'est déclaré nulle part ailleurs, très bizarre.
Bref je n'ai pas le temps de pousser plus loin les investigations alors j'ai choisi une solution plus simple sans le :not. J'essaierai de savoir d'où ça vient si ça se reproduit.
Modifié par Hermann (12 Nov 2013 - 15:23)