Est-il possible de sélectionner, disons, un élément sur quatre dans un ensemble d'éléments?
Ex: J'ai 16 <div>
éléments ... Je pourrais écrire quelque chose comme.
div:nth-child(4),
div:nth-child(8),
div:nth-child(12),
div:nth-child(16)
Y a-t-il une meilleure manière de faire cela?
css
css-selectors
Derek Adair
la source
la source
Réponses:
Comme son nom l'indique, vous permet de construire une expression arithmétique en utilisant la variable en plus des nombres constants. Vous pouvez effectuer l'addition ( ), la soustraction ( ) et la multiplication des coefficients ( où est un entier, y compris des nombres positifs, des nombres négatifs et zéro).
:nth-child()
n
+
-
an
a
Voici comment réécrire la liste de sélecteurs ci-dessus:
Pour une explication sur le fonctionnement de ces expressions arithmétiques, voir ma réponse à cette question , ainsi que la spécification .
Notez que cette réponse suppose que tous les éléments de l' enfant dans le même élément parent sont du même type d'élément,
div
. Si vous avez d'autres éléments de types différents tels queh1
oup
, vous devrez utiliser:nth-of-type()
au lieu de:nth-child()
pour vous assurer de ne compter que lesdiv
éléments:Pour tout le reste (classes, attributs ou toute combinaison de ceux-ci), lorsque vous recherchez le nième enfant qui correspond à un sélecteur arbitraire, vous ne pourrez pas le faire avec un sélecteur CSS pur. Voir ma réponse à cette question .
Soit dit en passant, il n'y a pas beaucoup de différence entre 4n et 4n + 4 en ce qui concerne
:nth-child()
. Si vous utilisez lan
variable, elle commence à compter à 0. Voici à quoi correspondrait chaque sélecteur::nth-child(4n)
:nth-child(4n+4)
Comme vous pouvez le voir, les deux sélecteurs correspondront aux mêmes éléments que ci-dessus. Dans ce cas, il n'y a aucune différence.
la source
tr td:nth-child(4)
. Notez l'absence de n entre parenthèsesVoir: http://css-tricks.com/how-nth-child-works/
la source
Essaye ça
la source
Vous avez besoin de l'argument correct pour la
nth-child
pseudo-classe.L'argument devrait être sous la forme de
an + b
faire correspondre tous un e enfant à partir de b.Les deux
a
etb
sont des entiers facultatifs et les deux peuvent être nuls ou négatifs.a
est égal à zéro alors il n'y a pas « tout un e enfant » clause.a
est négatif, l'appariement se fait à l'envers à partir deb
.b
est nul ou négatif, il est possible d'écrire une expression équivalente en utilisant positive,b
par exemple,4n+0
est identique à4n+4
. De même4n-1
est identique à4n+3
.Exemples:
Sélectionnez tous les 4 enfants (4, 8, 12, ...)
Sélectionnez tous les 4 enfants à partir de 1 (1, 5, 9, ...)
Afficher l'extrait de code
Sélectionnez chaque 3ème et 4ème enfant parmi les groupes de 4 (3 et 4, 7 et 8, 11 et 12, ...)
Afficher l'extrait de code
Sélectionnez les 4 premiers éléments (4, 3, 2, 1)
Afficher l'extrait de code
la source