--- title: Pseudo-classes slug: Web/CSS/Pseudo-classes tags: - CSS - Intermédiaire - Pseudo-classe - Reference - Sélecteur translation_of: Web/CSS/Pseudo-classes --- <div>{{CSSRef}}</div> <p class="summary">Une <strong>pseudo-classe</strong> est un mot-clé qui peut être ajouté à un sélecteur afin d'indiquer l'état spécifique dans lequel l'élément doit être pour être ciblé par la déclaration. La pseudo-classe {{cssxref(":hover")}}, par exemple, permettra d'appliquer une mise en forme spécifique lorsque l'utilisateur survole l'élément ciblé par le sélecteur (changer la couleur d'un bouton par exemple).</p> <pre class="brush: css no-line-numbers">div:hover { background-color: #F89B4D; }</pre> <p>Les pseudo-classes permettent d'appliquer un style à un élément non seulement en fonction de son contenu dans l'arbre du document mais aussi en fonction de facteurs externes (l'historique de navigation par exemple avec {{cssxref(":visited")}} ; le statut du contenu avec {{cssxref(":checked")}} ; la position de la souris {{cssxref(":hover")}}).</p> <div class="blockIndicator note"> <p><strong>Note:</strong> À la différence des pseudo-classes, <a href="/fr/docs/Web/CSS/Pseudo-%C3%A9l%C3%A9ments">les pseudo-éléments</a> peuvent être utilisés afin d'appliquer un style sur une certaine partie d'un élément.</p> </div> <h2 id="Syntaxe">Syntaxe</h2> <pre class="syntaxbox">sélecteur:pseudo-classe { propriété: valeur; } </pre> <p>À l'instar des classes, on peut chaîner plusieurs pseudo-classes au sein d'un sélecteur.</p> <h2 id="Liste_des_pseudo-classes_standards">Liste des pseudo-classes standards</h2> <div class="index" id="index"> <ul> <li>{{CSSxRef(":active")}}</li> <li>{{CSSxRef(":any-link")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":blank")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":checked")}}</li> <li>{{CSSxRef(":current")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":default")}}</li> <li>{{CSSxRef(":defined")}}</li> <li>{{CSSxRef(":dir", ":dir()")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":disabled")}}</li> <li>{{CSSxRef(":drop")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":empty")}}</li> <li>{{CSSxRef(":enabled")}}</li> <li>{{CSSxRef(":first")}}</li> <li>{{CSSxRef(":first-child")}}</li> <li>{{CSSxRef(":first-of-type")}}</li> <li>{{CSSxRef(":fullscreen")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":future")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":focus")}}</li> <li>{{CSSxRef(":focus-visible")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":focus-within")}}</li> <li>{{CSSxRef(":has", ":has()")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":host")}}</li> <li>{{CSSxRef(":host()")}}</li> <li>{{CSSxRef(":host-context()")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":hover")}}</li> <li>{{CSSxRef(":indeterminate")}}</li> <li>{{CSSxRef(":in-range")}}</li> <li>{{CSSxRef(":invalid")}}</li> <li>{{CSSxRef(":is")}} {{Experimental_inline}}</li> <li>{{CSSxRef(":lang", ":lang()")}}</li> <li>{{CSSxRef(":last-child")}}</li> <li>{{CSSxRef(":last-of-type")}}</li> <li>{{CSSxRef(":left")}}</li> <li>{{CSSxRef(":link")}}</li> <li>{{CSSxRef(":local-link")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":not", ":not()")}}</li> <li>{{CSSxRef(":nth-child", ":nth-child()")}}</li> <li>{{CSSxRef(":nth-col", ":nth-col()")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":nth-last-child", ":nth-last-child()")}}</li> <li>{{CSSxRef(":nth-last-col", ":nth-last-col()")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":nth-last-of-type", ":nth-last-of-type()")}}</li> <li>{{CSSxRef(":nth-of-type", ":nth-of-type()")}}</li> <li>{{CSSxRef(":only-child")}}</li> <li>{{CSSxRef(":only-of-type")}}</li> <li>{{CSSxRef(":optional")}}</li> <li>{{CSSxRef(":out-of-range")}}</li> <li>{{CSSxRef(":past")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":placeholder-shown")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":read-only")}}</li> <li>{{CSSxRef(":read-write")}}</li> <li>{{CSSxRef(":required")}}</li> <li>{{CSSxRef(":right")}}</li> <li>{{CSSxRef(":root")}}</li> <li>{{CSSxRef(":scope")}}</li> <li>{{CSSxRef(":target")}}</li> <li>{{CSSxRef(":target-within")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":user-invalid")}} {{Experimental_Inline}}</li> <li>{{CSSxRef(":valid")}}</li> <li>{{CSSxRef(":visited")}}</li> <li>{{CSSxRef(":where", ":where()")}} {{Experimental_Inline}}</li> </ul> </div> <h2 id="Exemples">Exemples</h2> <h3 id="CSS">CSS</h3> <pre class="brush: css">.survol:hover { background-color: palegreen; } p:nth-child(2n+1) { background-color: lime; }</pre> <h3 id="HTML">HTML</h3> <pre class="brush: html"><div> <p class="survol"> La Reine devint pourpre de colère ; et après l’avoir considérée un moment avec des yeux flamboyants comme ceux d’une bête fauve, elle se mit à crier : « Qu’on lui coupe la tête ! » </p> <p> « Quelle idée ! » dit Alice très-haut et d’un ton décidé. La Reine se tut. </p> <p> Le Roi lui posa la main sur le bras, et lui dit timidement : « Considérez donc, ma chère amie, que ce n’est qu’une enfant. » </p> </div></pre> <h3 id="Résultat">Résultat</h3> <p>{{EmbedLiveSample("Exemples","250","350")}}</p> <h2 id="Spécifications">Spécifications</h2> <table class="standard-table"> <thead> <tr> <th scope="col">Spécification</th> <th scope="col">État</th> <th scope="col">Commentaires</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('Fullscreen')}}</td> <td>{{Spec2('Fullscreen')}}</td> <td>Définition de <code>:fullscreen</code>.</td> </tr> <tr> <td>{{SpecName('HTML WHATWG', '#pseudo-classes')}}</td> <td>{{Spec2('HTML WHATWG')}}</td> <td>Définit lorsque des sélecteurs particuliers correspondent à des éléments HTML.</td> </tr> <tr> <td>{{SpecName('CSS4 Selectors')}}</td> <td>{{Spec2('CSS4 Selectors')}}</td> <td> <p>Définition de <code>:any-link</code>, <code>:local-link</code>, <code>:scope</code>, <code>:active-drop-target</code>, <code>:valid-drop-target</code>, <code>:invalid-drop-target</code>, <code>:current</code>, <code>:past</code>, <code>:future</code>, <code>:placeholder-shown</code>, <code>:user-error</code>, <code>:blank</code>, <code>:nth-match()</code>, <code>:nth-last-match()</code>, <code>:nth-column()</code>, <code>:nth-last-column()</code> et <code>:matches()</code>.</p> <p>Changement afin que <code>:empty</code> se comporte comme {{CSSxRef(":-moz-only-whitespace")}} {{Non-standard_Inline}}.</p> <p>Aucune modification significative pour les pseudo-classes définies avec {{SpecName('CSS3 Selectors')}} et {{SpecName('HTML5 W3C')}}.</p> </td> </tr> <tr> <td>{{SpecName('HTML5 W3C')}}</td> <td>{{Spec2('HTML5 W3C')}}</td> <td>Copie les éléments pertinents de la spécification HTML WHATWG</td> </tr> <tr> <td>{{SpecName('CSS3 Basic UI')}}</td> <td>{{Spec2('CSS3 Basic UI')}}</td> <td>Définition de <code>:default</code>, <code>:valid</code>, <code>:invalid</code>, <code>:in-range</code>, <code>:out-of-range</code>, <code>:required</code>, <code>:optional</code>, <code>:read-only</code> et <code>:read-write</code>, mais sans la sémantique associée.</td> </tr> <tr> <td>{{SpecName('CSS3 Selectors')}}</td> <td>{{Spec2('CSS3 Selectors')}}</td> <td>Définition de <code>:target</code>, <code>:root</code>, <code>:nth-child()</code>, <code>:nth-last-of-child()</code>, <code>:nth-of-type()</code>, <code>:nth-last-of-type()</code>, <code>:last-child</code>, <code>:first-of-type</code>, <code>:last-of-type</code>, <code>:only-child</code>, <code>:only-of-type</code>, <code>:empty</code> et <code>:not()</code>.<br> Définition de la syntaxe pour <code>:enabled</code>, <code>:disabled</code>, <code>:checked</code> et <code>:indeterminate</code>, mais sans la sémantique associée.<br> Pas de modification significative pour les pseudo-classes définies avec {{SpecName('CSS2.1')}}.</td> </tr> <tr> <td>{{SpecName('CSS2.1')}}</td> <td>{{Spec2('CSS2.1')}}</td> <td>Définition de <code>:lang()</code>, <code>:first-child</code>, <code>:hover</code> et <code>:focus</code>.<br> Aucune modification significative pour les pseudo-classes définies avec {{SpecName('CSS1')}}.</td> </tr> <tr> <td>{{SpecName('CSS1')}}</td> <td>{{Spec2('CSS1')}}</td> <td>Définition de <code>:link</code>, <code>:visited</code> et <code>:active</code>, mais sans la sémantique associée.</td> </tr> </tbody> </table> <h2 id="Voir_aussi">Voir aussi</h2> <ul> <li><a href="/fr/docs/Web/CSS/Pseudo-%C3%A9l%C3%A9ments">Les pseudo-éléments</a></li> </ul>