Comment puis-je obtenir le n-ième enfant d'un élément à l'aide de sélecteurs CSS2?
Est-il possible d'obtenir le n-ième élément d'une liste ordonnée dans CSS2?
(similaire à :nth-child()
en CSS3)
Pour info: je suis en train de programme de la version allemande de Parcheesi être XHTML 1.1 et CSS2 conforme et en essayant de générer de la surface de jeu en utilisant des listes ordonnées, le mouvement options sont déterminées par la structure de données. Pour le positionnement autour du centre, je voudrais sélectionner les éléments de la liste par le nombre.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser adjacent frère combinators en collaboration avec le
:first-child
pseudo-classe, en répétant les combinators autant de fois que vous avez besoin pour atteindre un certain nième enfant. Cela est également mentionné dans une réponse à une autre question.Pour tout élément
E
, commencer avecE:first-child
, puis ajouter+ E
pour les autres enfants jusqu'à ce que vous atteignez l'élément que vous ciblez. Vous n'avez pas à utiliser le même élémentE
, bien sûr; vous pouvez changer cela pour n'importe quel type, classe, ID, etc, mais les choses importantes sont les:first-child
et+
signes.Par exemple, pour obtenir la troisième
li
de sesol
, la suite sélecteur de CSS3:Sont reproduits dans CSS2 comme suit:
Une illustration:
Noter que depuis il n'y a pas de frère, de combinators qui regarde précédent frères et sœurs (ni dans CSS2, ni CSS3), vous ne pouvez pas imiter
:nth-last-child()
ou:last-child
à l'aide de sélecteurs CSS2.En outre, vous ne pouvez émuler
:nth-child(b)
pour un enfant à un moment, oùb
est un nombre constant dans la formulean+b
(comme décrit dans la spec); vous ne pouvez pas réaliser toutes les formules complexes avec adjacents frère combinators seul.Non vous ne pouvez pas.
nth-child()
était introduit dans CSS3 , donc je ne pense pas qu'il y a un moyen de contourner ce problème.