We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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 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 selects 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   permet de sélectionner les nœuds qui sont des descendants (pas nécessairement des fils 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>.

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'ensmble 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  
Selectors Level 3 Recommendation  
CSS Level 2 (Revision 1) Recommendation  
CSS Level 1 Recommendation Définition initiale.

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple 1 1.0 (1.7 ou moins) 3.0 3.5 1.0
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple 1.5 1.0 (1.9.2) ? ? 3.2

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, cabscorp, edspeedy, TiWisti, daisyback, personnel, Sebastianz
Dernière mise à jour par : SphinxKnight,