Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

:focus-within

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨janvier 2020⁩.

La pseudo-classe CSS :focus-within correspond à un élément si celui-ci ou l'un de ses descendants est sélectionné. En d'autres termes, elle représente un élément qui est lui-même correspondant à la pseudo-classe :focus ou qui a un descendant correspondant à :focus. (Cela inclut les descendants dans le DOM sombre (shadow DOM)).

Exemple interactif

label { display: block; margin-top: 1em; } label:focus-within { font-weight: bold; } 
<form> <p>Quelle saveur souhaitez-vous commander ?</p> <label>Nom complet : <input name="firstName" type="text" /></label> <label >Saveur : <select name="flavor"> <option>Cerise</option> <option>Thé vert</option> <option>Vanille et beurre salé</option> <option>Pépites de menthe</option> </select> </label> </form> 

Ce sélecteur est notamment utile lorsqu'on veut, par exemple, mettre en avant l'ensemble d'un formulaire <form> lorsque l'utilisateur·ice passe le focus sur l'un de ses éléments <input>.

Syntaxe

css
:focus-within { /* ... */ } 

Exemples

Dans cet exemple, le formulaire recevra des styles de coloration spéciaux lorsque l'un des champs de saisie de texte sera sélectionné.

HTML

html
<p> L'élément div ci-après aura un fond jaune si l'un des deux champs de saisie a le focus. </p> <form> <label for="prenom">Prénom :</label> <input id="prenom" type="text" /> <br /> <label for="nom">Nom :</label> <input id="nom" type="text" /> </form> 

CSS

css
form { border: 1px solid; color: gray; padding: 4px; } form:focus-within { background: #ffff88; color: black; } input { margin: 4px; } 

Résultat

Spécifications

Specification
Selectors Level 4
# the-focus-within-pseudo

Compatibilité des navigateurs

Voir aussi