Les sélecteurs CSS – Partie 3

📗 Chapitre 11 : Pseudo-classes ordinales avancées

51- Nième du type :nth-of-typeلا

📖 Définition : Sélectionne le n-ième élément d'un type spécifique parmi ses frères.

p:nth-of-type(2) {
    background: #fdebd0;
    padding: 5px;
    border-radius: 4px;
}

Paragraphe 1

✓ Paragraphe 2 (ciblé)

Paragraphe 3

💡 Utile pour styliser un paragraphe spécifique sans affecter les autres types d'éléments.

52 Nième en partant de la fin :nth-last-of-typeلا

📖 Définition : Sélectionne le n-ième élément en partant de la fin.

p:nth-last-of-type(2) {
    background: #d5f5e3;
    padding: 5px;
    border-radius: 4px;
}

Paragraphe 1

✓ Paragraphe 2 (ciblé)

Paragraphe 3 (dernier)

53 Nième enfant depuis la fin :nth-last-childلا

📖 Définition : Sélectionne le n-ième enfant en partant de la fin, quel que soit son type.

li:nth-last-child(2) {
    background: #f9e79f;
    padding: 5px;
}
  • Item 1
  • ✓ Item 2 (avant-dernier)
  • Item 3 (dernier)

54 Seul de son type :only-of-type

📖 Définition : Sélectionne l'élément qui est le seul de son type parmi ses frères.

p:only-of-type {
    background: #d4f1f9;
    padding: 10px;
    border-radius: 8px;
}

✓ Seul paragraphe (ciblé)

Paragraphe 1

Paragraphe 2

55 Regroupement :is()

📖 Définition : Regroupe plusieurs sélecteurs. Utile pour réduire la répétition.

:is(header, main, footer) p {
    color: #2c3e66;
    font-weight: 500;
}

Paragraphe dans header/main/footer

📘 Chapitre 12 : Pseudo-classes d'interface utilisateur

56 Activé :enabled

📖 Définition : Sélectionne les champs de formulaire activés (par défaut).

input:enabled {
    background: white;
    border-color: #2ecc71;
}
input:disabled {
    background: #ecf0f1;
}

57 Lecture seule :read-only

📖 Définition : Sélectionne les champs en lecture seule (non modifiables).

input:read-only {
    background: #f8f9fa;
    border: 1px dashed #95a5a6;
}

58 Lecture/écriture :read-write

📖 Définition : Sélectionne les champs modifiables par l'utilisateur.

input:read-write {
    border: 2px solid #3498db;
}

59 Bouton par défaut :default

📖 Définition : Sélectionne le bouton par défaut dans un groupe.

input:default {
    box-shadow: 0 0 0 2px #3498db;
}

60 État indéterminé :indeterminate

📖 Définition : Sélectionne les cases à cocher dans un état indéterminé.

input:indeterminate {
    outline: 2px solid #f39c12;
}

💡 L'état :indeterminate peut être défini via JavaScript avec element.indeterminate = true.

📙 Chapitre 13 : Combinateurs et sélecteurs modernes

61 Portée :scope

📖 Définition : Représente l'élément qui sert de portée/référence pour les sélecteurs.

.parent :scope {
    border-left: 3px solid #3498db;
}
Élément avec portée

62 Hôte du composant :host

📖 Définition : Sélectionne l'élément hôte d'un Web Component (Shadow DOM).

:host {
    display: block;
    background: #f8f9fa;
    padding: 10px;
}
Exemple de composant (hôte simulé)

63 Contexte hôte :host-context()

📖 Définition : Sélectionne l'élément hôte en fonction du contexte parent.

:host-context(.dark-theme) {
    background: #2c3e66;
    color: white;
}

Le style change selon la classe du parent (exemple: thème sombre).

64 Élément distribué ::slotted()

📖 Définition : Style les éléments distribués dans un slot d'un Web Component.

::slotted(p) {
    color: #e74c3c;
    font-style: italic;
}

Paragraphe distribué dans un slot

65 Élément défini :defined

📖 Définition : Sélectionne les éléments personnalisés définis (Web Components).

custom-element:defined {
    border: 2px solid #2ecc71;
}
Élément personnalisé défini

📒 Chapitre 14 : Sélecteurs CSS niveau 4

66 Focus visible :focus-visible

📖 Définition : Sélectionne un élément quand il reçoit le focus visible (navigation clavier).

button:focus-visible {
    outline: 3px solid #3498db;
    outline-offset: 2px;
}

67 Focus à l'intérieur :focus-within

📖 Définition : Sélectionne un élément lorsqu'un de ses enfants a le focus.

form:focus-within {
    background: #e8f4fd;
    padding: 15px;
    border-radius: 8px;
}

68 Invalide après interaction :user-invalid

📖 Définition : Sélectionne les champs invalides après interaction utilisateur.

input:user-invalid {
    border-color: #e74c3c;
    background: #fdebd0;
}

69 Direction du texte :dir()

📖 Définition : Sélectionne les éléments selon la direction du texte (ltr/rtl).

:dir(rtl) {
    text-align: right;
}
:dir(ltr) {
    text-align: left;
}

Texte de gauche à droite

نص من اليمين إلى اليسار

70 Élément modal :modal

📖 Définition : Sélectionne un élément lorsqu'il est dans un état modal (dialog ouvert).

dialog:modal {
    border: none;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
Exemple de modal

📕 Chapitre 15 : Sélecteurs fonctionnels modernes

71 Regroupement sans spécificité :where()

📖 Définition : Similaire à :is() mais avec une spécificité nulle.

:where(.article, .post) p {
    color: #555;
    line-height: 1.6;
}

Paragraphe avec style de base facilement surchargeable

72 Tout lien :any-link

📖 Définition : Sélectionne tous les liens (qu'ils soient visités ou non).

a:any-link {
    text-decoration: none;
    font-weight: bold;
}

73 Élément courant :current()

📖 Définition : Sélectionne l'élément courant (utile pour les sous-titres de vidéos).

:current(slide) {
    background: #f9e79f;
}
Diapositive courante (exemple)

74 Élément passé :past()

📖 Définition : Sélectionne les éléments déjà passés (dans une chronologie).

:past {
    opacity: 0.5;
}
Élément déjà traité (exemple)

75 Élément futur :future()

📖 Définition : Sélectionne les éléments à venir (dans une chronologie).

:future {
    opacity: 0.3;
}
Élément pas encore traité (exemple)

📝 Tableau récapitulatif (Sélecteurs 51 à 75)

# Sélecteur Description
📗 Chapitre 11 : Pseudo-classes ordinales avancées
51 :nth-of-typeلا Nième élément d'un type spécifique
52 :nth-last-of-typeلا Nième élément depuis la fin d'un type
53 :nth-last-childلا Nième enfant depuis la fin
54 :only-of-type Seul élément de son type
55 :is() Regroupement de sélecteurs
📘 Chapitre 12 : Pseudo-classes d'interface
56 :enabled Champ activé
57 :read-only Champ lecture seule
58 :read-write Champ modifiable
59 :default Bouton par défaut
60 :indeterminate Case à cocher indéterminée
📙 Chapitre 13 : Combinateurs modernes
61 :scope Portée de référence
62 :host Hôte Web Component
63 :host-context() Contexte de l'hôte
64 ::slotted() Élément distribué dans un slot
65 :defined Élément personnalisé défini
📒 Chapitre 14 : Sélecteurs CSS niveau 4
66 :focus-visible Focus visible (clavier)
67 :focus-within Focus à l'intérieur
68 :user-invalid Invalide après interaction
69 :dir() Direction du texte
70 :modal Élément modal
📕 Chapitre 15 : Sélecteurs fonctionnels modernes
71 :where() Regroupement (spécificité 0)
72 :any-link Tout lien
73 :current() Élément courant
74 :past() Élément passé
75 :future() Élément futur
آخر تعديل: الاثنين، 15 يونيو 2026، 6:02 PM