Bonjour à tous
quelqu'un peut m'expliquer la différence?
d'avance merci
JF
Bonjour à tous
quelqu'un peut m'expliquer la différence?
d'avance merci
JF
Alors, sauf erreur due au manque de caféine :
- ul#tabnav : s'applique à l'élément ul avec id="tabnav"
- #tabnav ul : s'applique à un élément ul fils d'un élément avec id="tabnav"

Attention à la syntaxe : il faut mettre un espace avant le # sinon certains navigateurs ne vont pas comprendre l’ordre CSS :ul#tabnav : s'applique à l'élément ul avec id="tabnav"
Code : Sélectionner tout - Visualiser dans une fenêtre à part ul #tabnav![]()

Opera Windows par exemple interprète de manière fantaisiste les écritures comme
#id.class et ne comprend que #id .class (dans des cas précis que j’ai remarqué suite à ne pas comprendre pourquoi le style n’était pas appliqué).
Je n’ai pas d’explications théoriques, juste un constat fait durant mes longues heures de codage![]()
Dans ce cas précis, j'imagine qu'Opera cherche un noeud avec id="id.class", donc c'est plus ou moins compréhensible.
Par contre, ul#tabnav est moins sujet au erreur que ul #tabnav qui pourrait être interprété comme "élément fils de ul, avec id=tabnav"...
d'autre part, j'ai la flemme de vérifier, mais il me semble que la syntaxe standard est bien de ne pas mettre d'espaces.
On est donc pas oligé de préciser "ul"; ul#tabnav = #tabnavul#tabnav : s'applique à l'élément ul avec id="tabnav"
Non??
ul#tabnav (sans espace) et ul #tabnav (avec un espace) ne ciblent pas le même élément, comme l'a relevé Keihilin.
ul#tabnav cible l'élément ul qui a pour attribut un id="tabnav"
ul #tabnav cible l'élément qui a pour attribut un id="tabnav" et qui est descendant (pas que enfant) d'un ul

Partager