Ce face <input type=color>
<input type="color"> afișează un mic dreptunghi colorat. La clic, browserul deschide selectorul de culoare al sistemului de operare, unde utilizatorul alege nuanța dorită.
Valoarea este mereu un cod hexazecimal cu 7 caractere, scris cu litere mici: #ff8800. Valoarea implicită este #000000 (negru). În value trebuie folosit exact acest format; numele de culori (red) sau codurile scurte (#f80) nu sunt acceptate și câmpul revine la negru.
Pentru a schimba culoarea pe pagină în timp ce utilizatorul alege, folosește evenimentul input; evenimentul change apare doar când selectorul se închide.
Atribute
| Atribut | Descriere |
|---|---|
value |
Culoarea inițială, în format #rrggbb. Implicit #000000. |
name |
Numele sub care codul culorii ajunge la server. |
list |
Id-ul unui <datalist> cu culori sugerate (afișate doar de unele browsere). |
Exemple
Exemplul 1: Culoarea temei unui profil
Câmpul pornește de la albastru, iar serverul primește codul ales.
<form action="/profil" method="post">
<label for="tema">Culoarea profilului</label>
<input type="color" id="tema" name="tema" value="#2563eb">
<button>Salvează</button>
</form>
Ce afișează browserul
Un dreptunghi albastru lângă eticheta „Culoarea profilului”.
La clic se deschide paleta sistemului; după alegere, serverul primește tema=#16a34a (de exemplu).
Exemplul 2: Previzualizare live a culorii
Evenimentul input schimbă fundalul cardului în timp ce utilizatorul se plimbă prin paletă.
<input type="color" id="fundal" value="#fef3c7"
oninput="card.style.background = this.value">
<div id="card" style="background:#fef3c7; padding:1rem">Felicitare pentru Ana</div>
Ce afișează browserul
Un card galben-pal cu textul „Felicitare pentru Ana”.
Cât timp alegi altă culoare, fundalul cardului se schimbă imediat.
Greșeli frecvente
- Scrierea lui
value="red"sauvalue="#f00": formatul acceptat este doar#rrggbb, altfel câmpul arată negru. - Folosirea doar a evenimentului
changepentru previzualizare: acesta apare abia la închiderea selectorului.
Comenzi înrudite
<input>: Cel mai versatil element de formular: își schimbă complet aspectul și funcția în funcție de atributul type.<form>: Containerul principal pentru colectarea datelor de la utilizator și trimiterea lor către un server.<label>: Etichetă accesibilă pentru un control de formular: dând clic pe etichetă, activezi sau bifezi câmpul asociat.