:placeholder-shown
Pseudo-class vybere sám vstupní prvek , pokud existuje zástupný text ve vstupním formuláři. Představte si to jako pěkný způsob, jak rozlišovat mezi vstupy, které aktuálně zobrazují zástupný text, a těmi, které nejsou.
input:placeholder-shown ( border: 5px solid red; )
Myšlenka zástupných symbolů
Textová data a
vstup mohou obsahovat zástupný text. Je to text, který se zobrazí, když je vstup prázdný, aby navrhl možnou hodnotu. Například formulář žádající o školu může mít štítek toho, co požaduje, ale jako zástupná hodnota pak navrhne „Forest Hills Example High School“:
School Name:
Rozdíl mezi :placeholder-shown
a::placeholder
:placeholder-shown
slouží k výběru samotného vstupu, když se zobrazuje zástupný text. Na rozdíl od ::placeholder
toho, které styly zástupný text.
Tady je diagram:
Považoval jsem to za velmi matoucí jako:
- specifikace pouze mají
:placeholder-shown
a ne::placeholder
:placeholder-shown
stále může ovlivnit styl zástupného textu, protože je to nadřazený prvek (např. velikost písma).
Všimněte si, že :placeholder-shown
jde o pseudo- třídu (je to prvek v určitém stavu) a ::placeholder
jedná se o pseudo- prvek (viditelná věc, která ve skutečnosti není v DOM). Rozlišitelné dvojtečkami jedno versus dvojité.
Tab Atkins mi to objasnil e-mailem:
:placeholder-shown
jako pseudotřída musí vybrat existující prvek. Vybírá vstup, kdykoli jste ve stavu, kdy se zástupný symbol zobrazuje.::placeholder
Pseudo-element zábaly skutečný zástupný text.
Pokud potřebujete upravit zástupný text
Použijte ::placeholder
(ve skutečnosti pro něj použijte všechny předpony šílených dodavatelů), které jsme zde podrobně popsali v almanachu.
Více informací
- Selektory úrovně 4 Spec
Podpora prohlížeče
Tato data podpory prohlížeče pocházejí z Caniuse, který obsahuje více podrobností. Číslo označuje, že prohlížeč podporuje tuto funkci v dané verzi a vyšší.
plocha počítače
Chrome | Firefox | TJ | Okraj | Safari |
---|---|---|---|---|
47 | 51 | 11 * | 79 | 9 |
Mobilní / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9.0-9.2 |