Comprendre les Sélecteurs Complexes en CSS : Guide Complet


Les sélecteurs CSS permettent de cibler des éléments HTML pour leur appliquer du style. Outre les sélecteurs de base (classe, ID, élément), CSS offre des sélecteurs plus avancés appelés "sélecteurs complexes". Ces sélecteurs permettent de cibler des éléments en fonction de relations hiérarchiques ou d'attributs spécifiques.
1. Le Sélecteur Universel (*
)
Le sélecteur universel (*
) sélectionne tous les éléments d'une page web.
Exemple :
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
Explication : Ici, on supprime les marges et les espacements internes pour tous les éléments HTML.
2. Le Sélecteur d'Attributs
Il permet de cibler des éléments HTML selon la présence et la valeur de leurs attributs.
a) Sélection par présence d'attribut
a[target] {
color: red;
}
Explication : Tous les liens ayant un attribut target
seront colorés en rouge.
b) Sélection par valeur exacte
input[type="text"] {
background-color: lightgray;
}
Explication : Seuls les champs de texte (<input type="text">
) auront un fond gris.
c) Sélection par préfixe de valeur (^=
)
a[href^="https"] {
font-weight: bold;
}
Explication : Tous les liens commençant par "https" auront un texte en gras.
d) Sélection par suffixe de valeur ($=
)
img[src$=".png"] {
border: 2px solid blue;
}
Explication : Toutes les images terminant par ".png" auront une bordure bleue.
e) Sélection par sous-chaîne (*=
)
div[class*="box"] {
padding: 10px;
}
Explication : Tous les div
dont la classe contient "box" auront un remplissage interne.
3. Le Sélecteur de Voisinage Général (~
)
Ce sélecteur cible tous les éléments frères situés APRÈS un certain élément.
Exemple :
h2 ~ p {
color: green;
}
Explication : Tous les paragraphes qui suivent un h2
auront une couleur verte.
4. Le Sélecteur de Voisinage Direct (+
)
Ce sélecteur cible uniquement l'élément frère immédiatement après un autre élément.
Exemple :
h2 + p {
font-style: italic;
}
Explication : Le paragraphe qui suit directement un h2
sera en italique.
5. Le Sélecteur d'Enfant Direct (>
)
Il cible uniquement les éléments enfants directs d'un parent.
Exemple :
div > p {
font-size: 18px;
}
Explication : Seuls les paragraphes (à l'intérieur immédiat d'un div
) auront une taille de 18px. Si un p
est imbriqué dans un autre élément à l'intérieur du div
, il ne sera pas affecté.
6. Le Sélecteur Descendant (Espace)
Ce sélecteur permet de cibler tous les descendants d'un élément parent, qu'ils soient directs ou non.
Exemple :
section p {
color: blue;
}
Explication : Tous les p
à l'intérieur d'un section
, peu importe leur niveau d'imbrication, seront en bleu.
Conclusion
Les sélecteurs complexes en CSS offrent un puissant contrôle sur le style des éléments HTML. Maîtriser ces sélecteurs permet d'écrire un CSS plus précis, optimisé et efficace, sans devoir ajouter inutilement des classes ou des IDs.
Utilisez ces sélecteurs avec stratégie pour rendre vos feuilles de style plus dynamiques et plus maintenables !
Subscribe to my newsletter
Read articles from Mouad Oumous directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
