Den :placeholder-shown
pseudoklass väljer ingångselementet självt när platshållartext existerar i en form ingång. Tänk på det som ett trevligt sätt att skilja mellan ingångar som för närvarande visar platshållartext jämfört med de som inte är det.
input:placeholder-shown ( border: 5px solid red; )
Idén bakom platshållare
Textbaserade s och
inmatningen kan ha platshållartext. Det är text som visas när ingången är tom för att föreslå ett möjligt värde. Till exempel kan ett formulär som frågar efter en skola ha en etikett för vad den ber om, men föreslå sedan "Forest Hills Exempel High School" i platshållaren som ett exempelvärde:
School Name:
Skillnaden mellan :placeholder-shown
och::placeholder
:placeholder-shown
är för att välja själva ingången när dess platshållartext visas. Till skillnad från ::placeholder
vilka stilar platshållartexten.
Här är ett diagram:


Jag tyckte att detta var mycket förvirrande som:
- specifikationerna har bara
:placeholder-shown
och inte::placeholder
:placeholder-shown
kan fortfarande påverka utformningen av platshållartexten, eftersom det är ett överordnat element (t.ex. teckenstorlek).
Notera att :placeholder-shown
en pseudo- klass (det är en del i ett särskilt tillstånd) och ::placeholder
är en pseudo inslag (en synlig sak som inte är verkligen i DOM). Kännetecknas av enkel-kontra-dubbla kolon.
Tab Atkins rensade upp det för mig via e-post:
:placeholder-shown
, som är en pseudoklass, måste välja ett befintligt element. Den väljer ingången när du befinner dig i läget för platshållare. Den::placeholder
pseudo-elementet omsluter själva platshållartexten.
Om du behöver utforma platshållartexten
Använd ::placeholder
(faktiskt använd alla galna leverantörsprefix för det) som vi har beskrivit i Almanaken här.
Mer information
- Väljare Nivå 4 Spec
Webbläsarstöd
Denna webbläsares supportdata kommer från Caniuse, som har mer detaljer. Ett nummer indikerar att webbläsaren stöder funktionen i den versionen och uppåt.
Skrivbord
Krom | Firefox | IE | Kant | Safari |
---|---|---|---|---|
47 | 51 | 11 * | 79 | 9 |
Mobil / surfplatta
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9,0-9,2 |