Les pseudo-classes :nth-of-type() et :nth-last-of-type().
Résumé des caractéristiques du sélecteur :nth-of-type()
evan | oddDescription des pseudo-classes :nth-of-type() et :nth-last-of-type().
Définition de base.
Ces pseudo-classes ciblent des éléments en fonction de leur position dans l'arbre du document, le comptage s'effectuant séparément pour chacun des types d'éléments : les div sont comptés séparément des p par exemple.
:nth-of-type(): les comptages s'effectuent dans l'ordre habituel, depuis le premier jusqu'au dernier.:nth-last-of-type(): les comptages se font en ordre inverse, en commençant par le dernier enfant pour terminer par le premier.
La numérotation des enfants commence à 1. :nth-of-type(1) et donc équivalent à :first-of-type,
et :nth-last-of-type(1) est équivalent à :last-of-type.
Alterner les mises en forme.
Les mots-clé odd (impair) et even (pair) peuvent être utilisés entre les parenthèses et permettent de définir
facilement des mises en forme alternées.
Une autre syntaxe permet d'alterner plus de deux mises en forme : :nth-of-type(An+B).
A est le nombre de mises en forme à alterner.
B est le numéro de la mise en forme en cours de définition.
Par exemple, la règle :nth-of-type(3n+1){outline:1px solid;} spécifie qu'il y a trois mises en forme, et que cette définition
concerne la première d'entre elle. Cette règle applique un contour aux éléments numéro 1, 4, 7, etc.
Les éléments ciblés par les pseudo-classes :nth-of-type() et :nth-last-of-type()
dans le cas d'un tableau comportant une seule ligne avec des cellules titre th et des cellules td.
Autres pseudo-classes relatives à l'ordre dans le document source.
Toutes ces pseudo-classes permettent également de cibler des éléments en fonction de leur position dans l'arbre du document :
Exemple avec les pseudo-classes :nth-of-type() et :nth-last-of-type().
Utilisation basique de :nth-of-type() et :nth-last-of-type().
L'élément #exemple1 ci-dessous contient aussi bien des enfants du type div que d'autres du type p.
Il convient d'effectuer un comptage séparé pour chacun des types d'éléments.
n°1
n°2
p
n°1
n°3
p
n°2
n°4
n°5
p
n°3
p
n°4
n°6
Mises en forme alternées sur deux valeurs.
Les valeurs odd (impair) et even (pair) utilisées avec :nth-of-type() ou :nth-last-of-type()
permettent d'obtenir facilement une mise en forme alternée.
Néanmoins, si les types d'éléments sont mélangés, l'alternance paire/impaire ne sera pas visible sur le résultat.
n°1
n°2
p
n°1
n°3
p
n°2
n°4
n°5
p
n°3
p
n°4
n°6
Alterner plus de deux mises en forme.
Il est possible de construire des mises en forme alternées sur plus de 2 valeurs en utilisant une syntaxe
du genre :nth-child(An+B).
Mais le résultat risque d'être encore plus brouillon qu'avec deux valeurs.
Pour plus de lisibilité, notre exemple n'applique des contours que sur les éléments div, en laissant les éléments p
inchangés.
Les trois mises en forme concernent les contours successivement rouge, magenta, et vert.
n°1
n°2
p
n°1
n°3
p
n°2
n°4
n°5
p
n°3
p
n°4
n°6
Prise en charge par les navigateurs (compatibilité).
Les pseudo-classes :nth-of-type() et :nth-last-of-type() sont maintenant très bien reconnues par les navigateurs.
:nth-of-type() qui cible des enfants en fonction de leur type et de leur position dans l'arbre du document.:nth-last-of-type() qui cible des enfants en fonction de leur type et de leur position dans l'arbre du document, en commençant le comptage par la fin.:nth-of-type():nth-last-of-type()Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Safari

Samsung Internet

Opéra

Safari sur IOS

Firefox

Firefox pour Androïd

Edge

Chrome

Androïd Brower

KaiOS Browser

Chrome pour Androïd

Opéra mini
Historique de la pseudo-classe :nth-of-type().
-
Sélecteurs - Niveau 3
Concernant:nth-of-type(). Introduction des pseudo-classes:nth-of-type()et:nth-last-of-type()dans ce niveau de la spécification.03 Août 1999Document de travail.13 Novembre 2001Candidat à la recommandation.15 Décembre 2009Proposé à la recommandation.29 Septembre 2011Recommandation. -
Sélecteurs - Niveau 4
Concernant:nth-of-type(). Pas de modification concernant les pseudo-classes:nth-of-type()et:nth-last-of-type().29 Septembre 2011Document de travail.
Voir aussi : pseudo-classes relatives au DOM.
Toutes les pseudo-classes listées ci-dessous permettent de désigner un élément par rapport à sa position dans le DOM, encore appelé "arbre du document" en français.



