La :placeholder-shown
pseudo-classe sélectionne l'élément d'entrée lui - même lorsqu'un texte d'espace réservé existe dans une entrée de formulaire. Considérez-le comme un bon moyen de faire la distinction entre les entrées qui affichent actuellement du texte d'espace réservé et celles qui ne le sont pas.
input:placeholder-shown ( border: 5px solid red; )
L'idée derrière les espaces réservés
Les s basés sur du texte et l'
entrée peuvent avoir un texte d'espace réservé. C'est du texte qui s'affiche lorsque l'entrée est vide, pour suggérer une valeur possible. Par exemple, un formulaire demandant une école peut avoir une étiquette pour ce qu'il demande, mais suggérer ensuite "Forest Hills Example High School" dans l'espace réservé comme valeur d'exemple:
School Name:
La différence entre :placeholder-shown
et::placeholder
:placeholder-shown
sert à sélectionner l'entrée elle-même lorsque son texte d'espace réservé est affiché. Par opposition à ::placeholder
quels styles le texte de l'espace réservé.
Voici un diagramme:
![](4314761/_placeholder-shown_css-tricks_2.png.webp)
![](4314761/_placeholder-shown_css-tricks_2.png.webp)
J'ai trouvé cela très déroutant car:
- les spécifications ont seulement
:placeholder-shown
et non::placeholder
:placeholder-shown
peut encore affecter le style du texte de l'espace réservé, car il s'agit d'un élément parent (par exemple, font-size).
Notez que :placeholder-shown
c'est une pseudo- classe (c'est un élément dans un état particulier) et ::placeholder
c'est un pseudo- élément (une chose visible qui n'est pas vraiment dans le DOM). Distinguable par deux points simples ou doubles.
Tab Atkins m'a éclairci par e-mail:
:placeholder-shown
, étant une pseudo-classe, doit sélectionner un élément existant. Il sélectionne l'entrée chaque fois que vous êtes dans l'état d'affichage d'espace réservé. Le::placeholder
pseudo-élément enveloppe le texte de l'espace réservé réel.
Si vous avez besoin de styliser le texte de l'espace réservé
Utilisez ::placeholder
(en fait, utilisez tous les préfixes de fournisseurs fous pour cela) que nous avons détaillés dans l'Almanach ici.
Plus d'information
- Sélecteurs Niveau 4 Spec
Prise en charge du navigateur
Ces données de support de navigateur proviennent de Caniuse, qui contient plus de détails. Un nombre indique que le navigateur prend en charge la fonctionnalité dans cette version et plus.
Bureau
Chrome | Firefox | C'EST À DIRE | Bord | Safari |
---|---|---|---|---|
47 | 51 | 11 * | 79 | 9 |
Mobile / tablette
Chrome Android | Android Firefox | Android | Safari sur iOS |
---|---|---|---|
88 | 85 | 81 | 9,0-9,2 |