Catégories
CSS

Les sélecteurs CSS indispensables

Vous connaissez les sélecteurs de base et pensez que c’est déjà bien suffisant ? Sachez qu’il existe un certains nombre de sélecteurs qui, bien maitrisés, vous permettrons d’alléger votre code et vous simplifierons grandement la tache lors de la création de vos règles CSS. En voici quelques uns…

Jusqu’à présent nous avons vu qu’il était possible de sélectionner un élement (le nom de la balise HTML) et de manipuler son rendu graphique. Nous avons également vu que nous pouvions cibler un élément par ses liens de parentés (ex : un paragraphe contenu dans une section) mais aussi par certains attributs que nous lui donnons spécifiquement dans le code HTML (ex : une class ou un id). Nous allons découvrir que nous pouvons également sélectionner les éléments en fonction de ce qui les entour ou à l’aide d’attributs plus spécifiques et pas nécessairement dédié à leur manipulation CSS.

Sélecteurs généraux

SélecteurDéfinitionexemple
*Sélecteur universel, il ciblera l’ensemble des éléments présents dans la page*{ … }
eSélecteur de type, il ciblera l’élément citép{ … }
.xSélecteur de classe, il ciblera l’élément possédant l’attribut class correspondant.ma_class{ … }
#xSélecteur d’identifiant (id), il ciblera le seul élément de la page possédant l’attribut id correspondant #mon_id{ … }

Sélecteurs hiérarchiques

SélecteurDéfinitionexemple
x ySélecteur descendant, il ciblera l’élément y enfant de l’élément xsection p{ … }
x > ySélecteur d’enfant, il ciblera l’élément y enfant direct de l’élément x sans impacter les « petit-enfants » de même naturesection > p{ … }
x + ySélecteur de frère direct, il ciblera le premier élément y suivant l’élément x sans impacter ses frères suivantsh2 + p{ … }
x ~ ySélecteur de l’ensemble des frères adjascents, il ciblera l’ensemble des frères y de l’élément x h2 ~ p{ … }

Pseudo-classes

SélecteurDéfinitionexemple
x:hoverSélecteur d’un élément lorsque celui-si est survolé par le curseura:hover{ … }
x:linkSélecteur d’un élément de type « lien »a:link{ … }
x:visitedSélecteur d’un élément lien déjà visité par l’internautea:visited{ … }
x:focusSélecteur de l’élément d’un formulaires sélectionné par l’internaute (par exemple : un champs lors de son remplissage)input:focus{ … }
x y:first-childSélecteur du premier élément enfant y d’un parent xul li:first-child{ … }
x y:last-childSélecteur du dernier élément enfant y d’un parent xul li:last-child{ … }
x y:nth-child(n)Sélecteur de l’élément enfant y d’un parent x ayant pour index n (à noté qu’il est tout a fait possible de donner une règle de calcul à la valeur n de façon à cibler par exemple tous les éléments dont l’index serait un multiple de 3)ul li:nth-child(3){ … }
x y:nth-child(odd)Sélecteur de l’élément enfant y d’un parent x ayant pour index n ayant une valeur impaireul li:nth-child(odd){ … }
x y:nth-child(even)Sélecteur de l’élément enfant y d’un parent x ayant pour index n ayant une valeur paireul li:nth-child(even){ … }
x:not(valeur)Sélectionne tous les éléments qui ne correspondent pas à la sélection spécifiée dans les parenthèses.p:not(.special){ … }

Pseudo-classes de formulaire

SélecteurDéfinitionexemple
x:focusSélecteur d’un élément lorsque celui-si est sélectionné par l’internaute pour la saisieinput:focus{ … }
x:placeholderSélecteur du texte de substitution d’un champsinput:placeholder{ … }
x:enablecible les éléments de formulaire qui sont activés et peuvent être modifiés par l’utilisateur.input:eanble{ … }
x:desablecible les éléments de formulaire qui sont désactivés et ne peuvent pas être modifiés par l’utilisateur.input:desable{ … }
x:checkedcible les cases à cocher et les options de liste déroulante qui ont été cochées.input:checked{ … }
x:in-rangecible les éléments de formulaire de type « number » qui ont une valeur dans l’intervalle spécifié par les attributs min et max.input:in-range{ … }
x:out-of-rangecible les éléments de formulaire de type « number » qui ont une valeur en dehors de l’intervalle spécifié par les attributs min et max.input:out-of-range{ … }
x:validcible les éléments de formulaire qui ont une valeur valide selon les règles de validation spécifiées (par exemple, un champ de formulaire de type « email » qui contient une adresse e-mail valide).input:valid{ … }
x:invalidcible les éléments de formulaire qui ont une valeur non valide selon les règles de validation spécifiées (par exemple, un champ de formulaire de type « email » qui ne contient pas une adresse e-mail valide).input:invalid{ … }

Sélecteurs par attribut

SélecteurDéfinitionexemple
x[attribut]Sélectionne tous les éléments qui possèdent l’attribut spécifiép[data-couleur]{ … }
x[attribut=valeur]Sélectionne tous les éléments qui possèdent l’attribut spécifié avec la valeur spécifiéebody[lang=fr]{ … }
x[attribut~=valeur]Sélectionne tous les éléments qui possèdent l’attribut spécifié avec une valeur contenant la valeur spécifiée (séparée par des espaces)div[class~=higlight]{…}
x[attribut|=valeur]Sélectionne tous les éléments qui possèdent l’attribut spécifié avec une valeur commençant par la valeur spécifiée suivie d’un tireta[href|=https://]{ … }
x[attribut^=valeur]Sélectionne tous les éléments qui possèdent l’attribut spécifié avec une valeur commençant par la valeur spécifiéeimg[title^=apercu]{ … }
x[attribut$=valeur]Sélectionne tous les éléments qui possèdent l’attribut spécifié avec une valeur se terminant par la valeur spécifiéea[href$=.pdf]{ … }
x[attribut*=valeur]Sélectionne tous les éléments qui possèdent l’attribut spécifié avec une valeur contenant la valeur spécifiée n’importe où dans la chaîne de caractèresa[href*=facebook]{ … }
Cette article vous a t'il été utile ?
( 0 )