Sélecteur
Un sélecteur sert à désigner les éléments HTML auxquels une règle CSS va s’appliquer.
En d’autres termes, c’est grâce au sélecteur que le navigateur sait quels éléments de la page doivent être stylisés avec les propriétés définies.
Il existe différents types de sélecteur :
Les principaux
Les combinés
Les avancés
Définition : Les principaux types de sélecteurs
Sélecteurs par balise
Ciblent tous les éléments d’un certain type en fonction de leur nom de balise.
h1 {font-size: 2em;}
Tous les titres <h1>
sont modifiés.
Sélecteurs par classe
Ciblent les éléments qui possèdent une classe (attribut class
).
<p class="important">Texte important</p>
.important {color: red;}
Tous les éléments avec class="important"
seront rouges.
Sélecteurs par identifiant (id)
Ciblent un élément unique (attribut id
).
<p id="intro">Bienvenue !</p>
#intro {font-style: italic;}
L’élément avec id="intro"
est en italique.
Attention : un id
doit être unique dans la page.
Sélecteurs universels
Ciblent tous les éléments.
* {margin: 0;}
Réinitialise les marges de tous les éléments.
Définition : Les sélecteurs combinés
Sélecteur descendant
On note la descendance entre deux éléments grâce à un espace.
article p {
color: green;
}
Tous les <p>
à l’intérieur d’un <article>
.
Sélecteur enfant direct
Le symbole >
permet de cibler uniquement les enfants directs d’un élément.
ul > li {
list-style: square;
}
Les <li>
directement dans un <ul>
, mais pas les sous-listes.
Sélecteur frères généraux
Le symbole ~
permet de cibler tous les éléments frères situés après un élément donné.
h1 ~ p {
color: gray;
}
Tous les <p>
qui suivent un <h1>
.
Sélecteurs frères adjacents
Le symbole +
permet de cibler uniquement l’élément frère qui suit immédiatement.
h1 + p {
color: gray;
}
Le premier <p>
qui suit immédiatement un <h1>
.
Sélecteurs de groupe
h1, h2, h3 {
font-family: Arial, sans-serif;
}
Applique le même style aux <h1>
, <h2>
et <h3>
.
Définition : Les sélecteurs avancés
Sélecteurs d’attribut
Les crochets []
permettent de cibler les balises en fonction de leurs attributs et valeurs.
a[target="_blank"] {
color: orange;
}
Cible les liens qui ouvrent une nouvelle fenêtre.
voir : Syntaxe et signification[1]
Pseudo-classes
Pour cibler un état ou une position d’un élément.
a:hover {
text-decoration: underline;
}
li:first-child {
font-weight: bold;
}
voir : liste des pseudos classes[2]
Pseudo-éléments
Pour cibler une partie d’un élément.
p::first-line {
font-size: 1.2em;
}
p::before {
content: "→ ";
}
Conseil :
Vous pouvez trouver plus d'informations sur les sélecteurs à l'adresse suivante : https://developer.mozilla.org/fr/docs/Web/CSS/CSS_selectors