📗 Chapitre 21 : Sélecteurs de tableau
100 Nième colonne :nth-col
📖 Définition : Sélectionne la n-ième colonne dans un tableau ou une grille.
table :nth-col(even) {
background: #e8f4fd;
}
table :nth-col(3) {
border-left: 2px solid #3498db;
}
| Nom | Âge | Ville |
|---|---|---|
| Jean | 25 | Paris |
| Marie | 30 | Lyon |
101 Colonne depuis la fin :nth-last-col
📖 Définition : Sélectionne la n-ième colonne depuis la fin.
table :nth-last-col(1) {
background: #fdebd0;
font-weight: bold;
}
| Nom | Âge | Dernière colonne |
|---|---|---|
| Jean | 25 | ✓ |
102 Colonne spécifique :column()
📖 Définition : Sélectionne les éléments à l'intérieur d'une colonne.
p:column(1) {
color: #3498db;
}
:column(odd) {
background: #f8f9fa;
}
Paragraphe colonne 1
Paragraphe colonne 2
103 Élément courant :current()
📖 Définition : Sélectionne l'élément en cours de lecture/d'annotation.
:current(slide) {
background: #f9e79f;
}
:current(p) {
font-weight: bold;
}
Diapositive actuellement affichée
104 Élément vide :blank
📖 Définition : Sélectionne les éléments vides (similaire à :empty mais ignore les espaces).
textarea:blank {
border: 2px solid #e74c3c;
}
div:blank {
display: none;
}
📘 Chapitre 22 : Pseudo-classes d'impression
105 Enfant unique :only-child
106 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 {
border-left: 4px solid #2ecc71;
padding-left: 10px;
}
Seul paragraphe
Paragraphe 1
Paragraphe 2
107 Première page imprimée :first
📖 Définition : Sélectionne la première page lors de l'impression.
@page :first {
margin-top: 5cm;
}
@page :first {
background: white;
}
Style appliqué à la première page imprimée (exemple)
108 Page gauche imprimée :left
📖 Définition : Sélectionne les pages gauches lors de l'impression (recto-verso).
@page :left {
margin-left: 2cm;
margin-right: 4cm;
}
Style pour les pages gauches à l'impression
109 Page droite imprimée :right
📖 Définition : Sélectionne les pages droites lors de l'impression.
@page :right {
margin-left: 4cm;
margin-right: 2cm;
}
Style pour les pages droites à l'impression
📙 Chapitre 23 : Sélecteurs de contenu généré
110 Contenu avant ::before
📖 Définition : Ajoute du contenu virtuel AVANT l'élément.
p::before {
content: "📌 ";
color: #e74c3c;
}
blockquote::before {
content: open-quote;
font-size: 3em;
}
📌 Paragraphe avec icône avant
📌 Deuxième paragraphe
111 Contenu après ::after
📖 Définition : Ajoute du contenu virtuel APRÈS l'élément.
a::after {
content: " →";
}
li:last-child::after {
content: " (dernier)";
font-size: 0.8em;
}
- Élément 1
- Élément 2
- Élément 3 (dernier)
112 Fond d'écran modal ::backdrop
📖 Définition : Style l'arrière-plan des éléments modaux (dialog, video fullscreen).
dialog::backdrop {
background: linear-gradient(135deg, rgba(0,0,0,0.7), rgba(0,0,0,0.9));
}
video:fullscreen::backdrop {
background: black;
}
113 Puce de liste ::marker
📖 Définition : Style la puce ou le numéro des listes.
li::marker {
color: #e74c3c;
font-weight: bold;
content: "▶ ";
}
li:last-child::marker {
content: "✓ ";
}
- ▶ Élément 1
- ▶ Élément 2
- ✓ Élément 3
114 Texte sélectionné ::selection
📖 Définition : Style le texte sélectionné par l'utilisateur.
::selection {
background: #f1c40f;
color: #2c3e66;
}
p::selection {
background: #2ecc71;
color: white;
}
👆 Sélectionne ce texte pour voir l'effet de surbrillance jaune !
115 Champ optionnel :optional
📖 Définition : Sélectionne les champs de formulaire qui ne sont pas requis.
input:optional {
border: 1px solid #95a5a6;
}
input:required {
border-left: 3px solid #e74c3c;
}
116 Champ requis :required
📖 Définition : Sélectionne les champs de formulaire obligatoires.
input:required {
background: #fef9e7;
border-color: #e74c3c;
}
input:required::before {
content: "* ";
}
117 Lecture seule :read-only
📖 Définition : Sélectionne les champs en lecture seule.
input:read-only {
background: #f8f9fa;
border: 1px dashed #95a5a6;
}
input:read-write {
background: white;
border: 1px solid #3498db;
}
118 Lecture/écriture :read-write
📖 Définition : Sélectionne les champs modifiables par l'utilisateur.
input:read-write {
border: 2px solid #2ecc71;
}
textarea:read-write {
background: #d5f5e3;
}
119 Dans/Hors intervalle :in-range / :out-of-range
📖 Définition : Sélectionne les champs numériques selon leur intervalle.
input:in-range {
border-color: #2ecc71;
}
input:out-of-range {
border-color: #e74c3c;
background: #fdebd0;
}
Dans l'intervalle (0-100)
Hors intervalle
📕 Chapitre 25 : Sélecteurs de ressources multimédia
120 Plein écran :fullscreen
📖 Définition : Sélectionne un élément lorsqu'il est en mode plein écran.
video:fullscreen {
width: 100vw;
height: 100vh;
object-fit: contain;
}
:fullscreen {
background: black;
}
121 Image dans l'image :picture-in-picture
📖 Définition : Sélectionne une vidéo en mode picture-in-picture.
video:picture-in-picture {
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
video:picture-in-picture:hover {
transform: scale(1.02);
}
122 Élément personnalisé défini :defined
📖 Définition : Sélectionne les éléments personnalisés qui ont été définis (Web Components).
custom-element:defined {
display: block;
border: 2px solid #2ecc71;
padding: 10px;
}
custom-element:not(:defined) {
opacity: 0.5;
}
123 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;
border-radius: 8px;
padding: 10px;
}
:host(.special) {
background: #f9e79f;
}
124 Élément distribué ::slotted()
📖 Définition : Style les éléments distribués dans un slot d'un Web Component.
::slotted(p) {
color: #3498db;
font-weight: bold;
}
::slotted(.important) {
background: #f9e79f;
}
📝 Tableau récapitulatif (Sélecteurs 100 à 124)
| # | Sélecteur | Description |
|---|---|---|
| 📗 Chapitre 21 : Sélecteurs de tableau | ||
| 100. :nth-col() / 101. :nth-last-col() / 102. :column() / 103. :current() / 104. :blank | ||
| 📘 Chapitre 22 : Pseudo-classes d'impression | ||
| 105. :only-child / 106. :only-of-type / 107. :first / 108. :left / 109. :right | ||
| 📙 Chapitre 23 : Sélecteurs de contenu | ||
| 110. ::before / 111. ::after / 112. ::backdrop / 113. ::marker / 114. ::selection | ||
| 📒 Chapitre 24 : Sélecteurs de validation | ||
| 115. :optional / 116. :required / 117. :read-only / 118. :read-write / 119. :in-range/:out-of-range | ||
| 📕 Chapitre 25 : Sélecteurs de ressources | ||
| 120. :fullscreen / 121. :picture-in-picture / 122. :defined / 123. :host / 124. ::slotted() | ||