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

css id type selector

4 réponses
Avatar
smr78
Bonjour,
en espérant que les questions css ne soient pas hors sujet!
Dans le standard css2, j'ai vu que l'on a le droit d'écrire un selector sus
forme de mix id et type ainsi :
TD#monid{background-color:red}
Or mon IE6 ne décode pas, il préfère
#monid TD{background-color:red}
J'ai lu sur un site que NS ne veut pas de mélange.
Question 1 Qui a raison?
Autre souci, avec #monid TD si je cumule deux règles :
#monid TD{background-color:red}
#monid2{background-color:green}
avec
<table id=monid cellspacing=2>
<tr>
<td >text red</td><td id=monid2>text vert</td>
</tr></table>

Eh bien, le texte vert passe au rouge!!
Pourtant le standard dit que la dernière règle css l'emporte en cas de
conflit.
Une solution est de mettre des id partout, mais peut-on faire tout en
écrivant mieux les selectors?
Merci pour toute aide
Cordialement

4 réponses

Avatar
Jean
TD#monid{background-color:red}


Mais là vous spécifiez le style d'une cellule d'id "monid" alors que
dans votre exemple c'est un tableau qui a cet id (et aucune cellule n'a
pour id "monid").

Si vous voulez colorier le fond du tableau monid en précisant à la fois
sa balise et son id :

TABLE#monid{background-color:red;}

si vous voulez colorier le fond des cellules du tableau "monid" de
votre exemple ce pourra être :

TABLE#monid TR TD{background-color:red;}

--
Jean - JMST
Belgium

Avatar
smr78
Merci pour cette réponse qui m'a permis de trouver une solution
En fait pour être cohérent, j'aurais dû écrire dans ma première question :
TD#monid2{background-color:red}
Cette écriture est la bonne. Cependant dans mon pb n° 2, la solution est

#monid TD{background-color:red}
TD#monid2{background-color:green}

Ce que je cherche à faire est ceci :
La première règle spécifie que les cellules de la table monid auront un
texte rouge
La deuxième règle corrige la première en précisant que parmi les cellules,
la cellule monid2 aura son texte en vert.
Cette écriture fonctionne alors que l'écriture
#monid TD{background-color:red}
#monid2{background-color:green}
ne fonctionne pas.
Pourtant la syntaxe de
#monid2{background-color:green}
est bien correcte. Mais il semble qu'elle ne prenne pas le dessus sur la
première règle.

Merci encore



TD#monid{background-color:red}


Mais là vous spécifiez le style d'une cellule d'id "monid" alors que
dans votre exemple c'est un tableau qui a cet id (et aucune cellule n'a
pour id "monid").

Si vous voulez colorier le fond du tableau monid en précisant à la fois
sa balise et son id :

TABLE#monid{background-color:red;}

si vous voulez colorier le fond des cellules du tableau "monid" de
votre exemple ce pourra être :

TABLE#monid TR TD{background-color:red;}

--
Jean - JMST
Belgium






Avatar
Jean
Pourtant la syntaxe de
#monid2{background-color:green}
est bien correcte. Mais il semble qu'elle ne prenne pas le dessus sur la
première règle.


Quand c'est comme ça vous pouvez essayer en mettant un indicateur
"!important" :

#monid2{background-color:green !important}

Amicalement,

--
Jean - JMST
Belgium

Avatar
smr78

Pourtant la syntaxe de
#monid2{background-color:green}
est bien correcte. Mais il semble qu'elle ne prenne pas le dessus sur la
première règle.


Quand c'est comme ça vous pouvez essayer en mettant un indicateur
"!important" :

#monid2{background-color:green !important}

Merci!!!! C'est parfait


Cordialement