📗 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
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;
}
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;
}
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;
}
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;
}
📒 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);
}
📕 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;
}
74 Élément passé :past()
📖 Définition : Sélectionne les éléments déjà passés (dans une chronologie).
:past {
opacity: 0.5;
}
75 Élément futur :future()
📖 Définition : Sélectionne les éléments à venir (dans une chronologie).
:future {
opacity: 0.3;
}
📝 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 |