Les sélecteurs CSS – Partie 5

 
📗 Chapitre 21 : Sélecteurs de tableau (100-105)
100. :nth-col() 101. :nth-last-col() 102. :column() 103. :current() 104. :blank
📘 Chapitre 22 : Pseudo-classes d'impression (105-110)
105. :only-child 106. :only-of-type 107. :first 108. :left 109. :right
📙 Chapitre 23 : Sélecteurs de contenu (110-115)
110. ::before 111. ::after 112. ::backdrop 113. ::marker 114. ::selection
📕 Chapitre 25 : Sélecteurs de ressources (120-125)
120. :fullscreen 121. :picture-in-picture 122. :defined 123. :host 124. ::slotted()

📗 Chapitre 21 : Sélecteurs de tableau

100 Nième colonne :nth-colNo

📖 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
💡 :nth-col() s'applique aux colonnes entières, pas seulement aux cellules.

101 Colonne depuis la fin :nth-last-colNo

📖 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

📖 Définition : Sélectionne l'élément qui est l'unique enfant de son parent.

li:only-child {
    color: #3498db;
    font-style: italic;
}
  • Seul élément de la liste
  • Élément 1
  • Élément 2

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;
}

Lien vers la suite

  • É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;
}
Fond modal (simulation)

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 !

📒 Chapitre 24 : Sélecteurs de validation de formulaire

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;
}
Simulation d'élément en plein écran

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);
}
Vidéo en mode PiP (simulation)

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;
}
Élément personnalisé défini

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;
}
Composant Web (hôte)

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;
}
Paragraphe distribué dans un slot

📝 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()
Last modified: Monday, 15 June 2026, 8:22 PM