Les pseudo-classes :first-child et :last-child.
Résumé des caractéristiques du sélecteur :first-child
Description des pseudo-classes :first-child et :last-child.
Ces pseudo-classes permettent de cibler des éléments en fonction de leur emplacement dans l'arbre du document :
:first-child: les éléments qui sont les premiers enfants de leur parent.:last-child: bien sûr les derniers enfants de leur parent.

Exemple d'un tableau comportant une seule ligne (tr) avec cinq 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 :
Exemples avec les pseudo-classes :first-child et :last-child.
Exemple 1 - Usage simple de :first-child et :last-child.
Dans l'exemple ci-dessous, le premier et le dernier éléments ont été distingués par une bordure colorée.
p
p
Exemple 2 - Combinaison avec un sélecteur de balise.
Ce deuxième exemple est plus complexe : les descendants du bloc #example2 sont de types différents : des balises p
et des balises div.
Le sélecteur div:first-child utilisé dans le CSS ne cible plus aucun élément car le premier enfant n'est pas un div.
Par contre les sélecteur div:last-child cible bien le dernier élément car il s'agit bien d'une balise div.
Si cela vous pose un problème, reportez-vous aux pseudo-classes :first-of-type et :last-of-type qui fonctionnent
par type de balises identiques.
p
p
Prise en charge par les navigateurs (compatibilité).
Les pseudo-classes :first-child et :last-child en elles-mêmes ne présentent plus aucun problème de compatibilité.
Il reste des lacunes avec certains navigateurs dans le cas des éléments sans parent.
:first-child qui cible le premier enfant d'un élément.:first-child qui cible le premier élément même si ce dernier n'a pas de parent.Remarques :
(1) Sur Internet Explorer, lorsqu'un élément est ajouté dynamiquement par un clic sur un lien, la pseudo-classe :first-child n'est pas appliqué tant que le lien est actif.
:first-child:last-child:first-child:last-childÉléments sans parent
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

Samsung Internet

Edge

Chrome

KaiOS Browser

Opéra

Safari

Androïd Brower

Firefox

Safari sur IOS

Chrome pour Androïd

Firefox pour Androïd

Opéra mini
Historique des pseudo-classes :first-child et :last-child.
Les pseudo-classes :first-child et :last-child existent depuis la version 2 du langage CSS, et leur spécification n'a pas évolué depuis.
-
CSS 2.1 - Spécification concernant les feuilles de styles en cascade - Révision 1
Ce niveau 2 de la spécification décrit le mécanisme des styles en cascade de CSS. Ce langage est utilisé pour formater les documents HTML ou XML. Il prend en charge les feuilles de style spécifiques aux médias afin que les auteurs puissent adapter la présentation de leurs documents aux navigateurs visuels, aux dispositifs auditifs, aux imprimantes, aux appareils braille, aux appareils portables, etc.
Concernant:first-childDéfinition initiale des pseudo-classes:first-childet:last-childdans la version 2 du langage CSS.04 Novembre 1997Document de travail.24 Mars 1998Proposé à la recommandation.11 Mai 1998Recommandation. -
Sélecteurs - Niveau 3
Ce document décrit les sélecteurs qui existent déjà dans CSS1 et CSS2, et présente en plus de nouveaux sélecteurs pour CSS3 et d'autres langages qui pourraient en avoir besoin.
Concernant:first-childPas de changement concernant les pseudo-classes:first-childet:last-child.03 Août 1999Document de travail.13 Novembre 2001Candidat à la recommandation.15 Décembre 2009Proposé à la recommandation.29 Septembre 2011Recommandation. -
Sélecteurs - Niveau 4
Ce module de spécification définit de nouveaux sélecteurs utilisables en CSS.
Concernant:first-childPas de changement concernant les pseudo-classes:first-childet:last-child.29 Septembre 2011Document de travail.
Voir aussi : pseudo-classes relatives au DOM.
De nombreux autres sélecteurs par pseudo-classe permettent de désigner un élément en fonction de sa position dans le DOM (arbre du document). Cette liste vous permet d'accéder rapidement à leur description.
@scope.


