Les sélecteurs définissent les éléments sur lesquelles s'applique un ensemble de règles CSS.
Les sélecteurs simples
- Les sélecteurs de type
- Ce sélecteur simple permet de cibler les éléments qui correspondent au nom indiqué.
Syntaxe :nomelement
Exemple :input
permettra de cibler n'importe quel élément<input>
. - Les sélecteurs de classe
- Ce sélecteur simple permet de cibler les éléments en fonction de la valeur de leur attribut
class
.
Syntaxe :.nomclasse
Exemple :.index
permettra de cibler n'importe quel élément qui possède la classeindex
(vraisemblablement définie avec un attributclass="index"
). - Les sélecteurs d'identifiant
- Ce sélecteur simple permet de cibler un élément d'un document en fonction de la valeur de son attribut
id
. Dans un document, il ne doit y avoir qu'un seul élément pour un identifiant donné.
Syntaxe :#valeurid
Exemple :#toc
permettra de cibler l'élément qui possède l'identifianttoc
(vraisemblablement défini avec un attributid="toc"
). - Le sélecteur universel
- Ce sélecteur permet de cibler tous les nœuds d'un document. Il existe également une variante pour ne cibler qu'un seul espace de noms et une variante pour cibler tous les espaces de noms.
Syntaxe :*
ns|*
*|*
Exemple :*
permettra de cibler tous les éléments du document. - Les sélecteurs d'attribut
- Ce sélecteur simple permet de cibler des éléments d'un document en fonction de la valeur d'un de leurs attributs.
Syntaxe :[attr]
[attr=valeur]
[attr~=valeur]
[attr|=valeur] [attr^=valeur]
[attr$=valeur]
[attr*=valeur]
Exemple :[autoplay]
permettra de cibler tous les éléments qui possède l'attributautoplay
défini (quelle que soit sa valeur).
Les combinateurs
- Les sélecteurs de voisin direct
- Le combinateur
'+'
permet de sélectionner les nœuds qui suivent immédiatement un élément donné.
Syntaxe :A + B
Exemple :div + p
permettra de cibler n'importe quel élément<p>
qui suit immédiatement un élément<div>
. - Les sélecteurs de voisins
- Le combinateur
'~'
permet de sélectionner les nœuds qui suivent un élément et qui ont le même parent.
Syntaxe :A ~ B
Exemple :p ~ span
permettra de cibler les éléments<span>
qui suivent (immédiatement ou non) un élément<p>
et qui ont le même élément parent. - Les sélecteurs d'éléments fils
- Le combinateur
'>'
permet de sélectionner les nœuds qui sont des fils directs d'un élément donné.
Syntaxe :A > B
Exemple :ul > li
permettra de cibler tous les éléments<li>
qui sont directement situés sous un élément<ul>
. - Les sélecteurs d'éléments descendants
- Le combinateur
Syntaxe :A B
Exemple :div span
permettra de cibler n'importe quel élément<span>
situé à l'intérieur d'un élément<div>
. - Le combinateur de colonne
- Le combinateur
||
sélectionne les nœuds qui appartiennent à une colonne. Syntaxe :A || B
Exemple :col || td
permettra de cibler n'importe quel élément<td>
sous la portée d'une colonne<col>
.
Les pseudo-classes
- Les pseudo-classes permettent de cibler des éléments selon une information d'état qui n'est pas stockée dans l'arbre du document.
- Exemple:
a:visited
permettra de cibler l'ensemble des éléments<a>
(des liens) ayant déjà été visités par l'utilisateur.
Les pseudo-éléments
- Les pseudo-éléments représentent des entités du document qui ne sont pas décrites en HTML.
- Exemple :
p::first-line
permettra de cibler la première ligne de chacun des éléments<p>
(les paragraphes) du document.
Spécifications
Spécification | État | Commentaires |
---|---|---|
Selectors Level 4 | Version de travail | Ajout du combinateur de colonne (|| ), des sélecteurs structurels pour la grille, des combinateurs logiques, des pseudo-classes pour la localisation, la temporisation, les états de ressources, les éléments linguistiques et les éléments relatifs à l'interface utilisateur. Ajout du modificateur de sensibilité à la casse pour les caractèes ASCII et du ciblage des attributs insensible à la casse. |
Selectors Level 3 | Recommendation | Ajout du combinateur de voisin ~ . Les pseudo-éléments utilisent désormais un préfixe avec deux fois deux-points (:: ) |
CSS Level 2 (Revision 1) | Recommendation |
Ajout des combinateurs pour les fils ( |
CSS Level 1 | Recommendation | Définition initiale. |