Sélecteurs CSS

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 classe index (vraisemblablement définie avec un attribut class="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'identifiant toc (vraisemblablement défini avec un attribut id="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'attribut autoplay 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 enfants

Le combinateur '>' permet de sélectionner les nœuds qui sont des enfants 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 " " (espace) permet de sélectionner les nœuds qui sont des descendants (pas nécessairement des enfants directs) d'un élément donné. 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 Expérimental

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

Specification
Selectors Level 4