Een kijkje in HTML5 Placeholder-kenmerk
Een van mijn favoriete nieuwe stukken in HTML5 is de mogelijkheid om toe te voegen Placeholder-tekst gemakkelijk. De plaatsaanduidingstekst is de grijze tekst die u vindt in een invoerveld dat wordt gebruikt om een hint te geven aan de gebruikers over welke invoer in dat veld wordt verwacht. Zodra gebruikers beginnen te typen in de invoer
veld, deze tekst zal verdwijnen.
In de oude dagen doen we dit meestal met JavaScript, als volgt;
Er is niets mis met deze praktijk, maar het is gemakkelijker op HTML5.
HTML5 heeft een nieuw kenmerk met een logische naam geïntroduceerd; placeholder
. Hier is een voorbeeld:
Als we het in de browsers bekijken, zou de invoer nu de grijze tekst moeten hebben, zoals hieronder te zien is;
Een paar dingen die moeten worden opgemerkt: volgens de specificatie, de placeholder
attribuut mag niet worden gebruikt als een alternatief voor een label
en er wordt ook gesuggereerd dat dit kenmerk alleen moet worden toegepast op invoer
typen die tekst vereisen, b.v.. tekst
, wachtwoord
, zoeken
, e-mail
, textarea
en tel
.
Het toevoegen placeholder
naar de invoer
types: radio-
en checkbox
maakt geen enkel verschil.
Placeholder & CSS
Verder is het ook mogelijk om de tekst van de tijdelijke aanduiding via CSS te stylen, maar op het moment van schrijven is dit nog steeds beperkt tot alleen Firefox en Webkit-browsers.
Het volgende voorbeeld laat zien hoe we de tekst van de tijdelijke aanduiding naar groen wijzigen, zowel in Webkit als Firefox;
invoer :: - webkit-invoer-placeholder kleur: groen; input: -moz-placeholder color: green;
Om maar te onthouden, de :: - webkit-input-placeholder
en : -Moz-placeholder
heeft alleen invloed op de tekst en kan niet parallel worden geschreven.
input :: - webkit-input-placeholder, input: -moz-placeholder color: green;
Dit stuk code zal niet werken.
Kenmerkselector
CSS3 kwam ook om dit attribuut te ondersteunen door het introduceren van de [Placeholder]
attribuutselector;
invoer [placeholder] border: 1px effen groen;
In het bovenstaande voorbeeld selecteren we elke invoer
dat heeft de placeholder
attribuut en verander de rand in groen.
Browsercompatibiliteit
Deze nieuwe HTML5-functie is niet verwonderlijk wordt niet ondersteund in oude browsers en wordt momenteel alleen volledig ondersteund in: Firefox 4+, Chrome 4+, Safari 5+, Opera 11.6 en Internet Explorer 10 (die nog niet officieel is vrijgegeven).
Placeholder Polyfills
Niettemin, als we de placeholder in oudere browsers moeten weergeven maar toch de placeholder
attribuut, we kunnen Polyfills gebruiken. Er zijn veel Placeholder Polyfills daar maar in dit voorbeeld gaan we de PlaceMe.js gebruiken;
De PlaceMe.js, zoals je kunt zien in het bovenstaande codefragment, is afhankelijk van jQuery. Als we het nu bekijken in bijvoorbeeld Internet Explorer 9, zou alle invoer nu de tekst van de tijdelijke aanduiding moeten weergeven.
- Demo bekijken
- Download de bron
Laatste gedachte
De HTML5 Placeholder attribuut maakt het zeker toevoegen van plaatsaanduidingstekst eenvoudiger. Nu is het aan ons, webontwikkelaars en ontwerpers, om te kiezen welke methode te gebruiken: JavaScript of HTML5.
Als u bedenkt dat het gebruik van Polyfills en jQuery om oude browsers te ondersteunen overbodig is, is JavaScript kennelijk meer geschikt voor de taak. Maar als u de oude browsers rustig kunt negeren, is het gebruik van HTML5 Placeholder waarschijnlijk een betere manier.