4 moduri de a defini culorile în CSS

Recomandări Esențiale

  • Denumirile culorilor: CSS pune la dispoziție 145 de denumiri cromatice, facilitând o selecție cromatică simplă și intuitivă, mai ales pentru începători. Totuși, gama este limitată și ar putea să nu se potrivească cerințelor precise de design.
  • Coduri hexazecimale: aceste coduri oferă o paletă largă de opțiuni și o personalizare amănunțită, deși pot fi mai greu de înțeles și de reținut.
  • Valori RGB și RGBA: modelul RGB permite controlul precis al culorilor prin valori numerice, iar RGBA adaugă opacitatea. Este important să se asigure combinații cromatice accesibile.

Culorile sunt printre cele mai frecvent utilizate atribute CSS, având un rol esențial în crearea identității vizuale, a atmosferei și a experienței de utilizare a unui site web. CSS oferă o gamă variată de metode pentru a utiliza culorile, fiecare dintre ele adaptată anumitor necesități și preferințe de design.

Deși poate fi ușor să neglijezi importanța alegerii culorilor, deciziile tale pot influența semnificativ aspectul și impresia generală a site-ului tău. Explorând particularitățile fiecărei metode și modul în care acestea pot fi aplicate și combinate în practică, îți vei îmbunătăți abilitatea de a crea site-uri web atrăgătoare vizual.

1. Utilizarea Numelor de Culori

CSS facilitează definirea culorilor prin nume, având la dispoziție 145 de opțiuni. Aceste denumiri cromatice variază de la simplele „roșu”, „verde” și „albastru”, la nuanțe mai specifice cum ar fi „coral” sau „lavandă”.

Utilizarea culorilor prin nume este simplă: selectezi o denumire precum „roșu” și o folosești într-o proprietate CSS care acceptă valori cromatice. Astfel de proprietăți includ, desigur, culoarea textului și cea de fundal, dar și culoarea contururilor, a marginilor și a umbrelor textului, printre altele.

Numele de culori sunt utile în situații când ai nevoie de o culoare temporară pentru prototipare sau când vrei să păstrezi codul ușor de înțeles. Sintaxa este următoarea:

 proprietate_culoare: nume_culoare;

Înlocuiește pur și simplu `nume_culoare` cu denumirea specifică pe care dorești să o folosești. De exemplu, dacă dorești ca textul unui paragraf să fie roșu, vei scrie:

 p {
color: red;
}

Aceasta va face ca textul paragrafelor să fie de culoare roșie:

Avantaje: Sunt ușor de citit și de înțeles în codul CSS. Sunt prietenoase pentru începători, funcționează bine în toate browserele și sunt la îndemână pentru idei de design rapide.

Dezavantaje: Au un număr limitat de opțiuni și este posibil să nu ofere nuanțele exacte de care ai nevoie, ceea ce limitează creativitatea designului. De asemenea, este posibil ca acestea să nu îndeplinească întotdeauna standarde stricte de accesibilitate și suportul în sistemele mai vechi poate varia.

2. Codurile Hexazecimale

Codurile hexazecimale, numite frecvent „coduri hex”, sunt cea mai răspândită metodă de specificare a culorilor în designul web. Aceste coduri sunt formate din combinații de șase caractere, numere și litere (0-9, A-F), reprezentând un amestec de roșu, verde și albastru (RGB).

Deși sunt ușor de utilizat, înțelegerea modului în care funcționează poate fi complicată. Poți aprofunda cunoștințele despre codurile hex pentru a le înțelege mai bine. Un exemplu simplu de folosire a codurilor hex în CSS:

 color: #RRGGBB;

În acest format, RR, GG și BB reprezintă componentele roșie, verde și, respectiv, albastră. Fiecare componentă variază de la 00 (fără intensitate) la FF (intensitate maximă). De exemplu, pentru a seta culoarea de fundal a antetului unui site web la o anumită nuanță de albastru, poți utiliza un cod hex ca acesta:

 header {
background-color: #336699;
}

Aceasta va rezulta într-o nuanță de albastru intens:

Poți folosi o scurtătură dacă fiecare dintre cele trei componente repetă același caracter de două ori. Exemplul de mai sus poate fi scris astfel:

 header {
background-color: #369;
}

Avantaje: Codurile hexazecimale oferă o gamă vastă de opțiuni cromatice, permițând crearea de nuanțe detaliate și personalizate. Ele asigură un control fin asupra selecțiilor de culori, fiind ideale pentru cerințe complexe de design.

Dezavantaje: Deși codurile hex sunt puternice, pot fi mai puțin intuitive comparativ cu denumirile de culori. De asemenea, pot apărea dificultăți în memorarea anumitor valori. Din fericire, există instrumente care facilitează identificarea codurilor hex pentru culorile pe care le întâlnești, simplificând procesul.

3. Valorile RGB și RGBA

Similar codurilor hex, acest format îți permite să specifici culorile prin componentele lor roșie, verde și albastră. De data aceasta, însă, folosești numere întregi mai ușor de înțeles.

Valori RGB

Valorile de culoare RGB reprezintă a doua metodă cea mai des utilizată pentru a defini culorile în CSS. „RGB” reprezintă roșu, verde și albastru și este exprimat ca o funcție CSS, urmată de paranteze. În paranteze, atribui valori fiecărui canal de culoare, variind de la 0 la 255. Astfel, poți controla intensitatea roșului, verdele și albastrul în culoarea pe care dorești să o folosești.

Sintaxa este:

 rgb(valoare_roșie, valoare_verde, valoare_albastră);

Înlocuiește `valoare_roșie`, `valoare_verde` și `valoare_albastră` cu valorile numerice corespunzătoare. Poți obține culori precum alb, negru și roșu, ilustrate în imaginea de mai jos:

Când setezi toate cele trei canale de culoare (roșu, verde și albastru) la valoarea maximă de 255, obții intensitatea maximă pentru fiecare canal, creând culoarea albă:​​​​​​

 .white-box {
color: rgb(255, 255, 255);
}

Când setezi toate cele trei canale la valoarea minimă de 0, reprezinți absența culorii în fiecare canal, rezultând negrul.

 .black-box {
color: rgb(0, 0, 0);
}

Setarea canalului roșu la valoarea maximă de 255, în timp ce celelalte canale rămân la valoarea minimă de 0, produce culoarea roșie:​​​​​

 .red-box {
color: rgb(255, 0, 0);
}

Valori RGBA

RGBA funcționează similar cu RGB, singura diferență fiind includerea unei valori alfa. „A” din RGBA înseamnă alfa, care determină nivelul de transparență sau opacitate al culorii alese. Valoarea 0 reprezintă transparență completă, făcând culoarea invizibilă, iar valoarea 1 reprezintă opacitate completă, culoarea fiind perfect vizibilă.

RGBA este util mai ales când dorești să creezi elemente cu diferite niveluri de transparență, cum ar fi fundaluri translucide sau text decolorat. Sintaxa completă este:

 color: rgba(valoare_roșie, valoare_verde, valoare_albastră, valoare_alfa);

Aici, `valoare_roșie`, `valoare_verde` și `valoare_albastră` reprezintă canalele de culoare, ca în RGB, iar `valoare_alfa` specifică nivelul de transparență.

 div {
background-color: rgba(0, 128, 0, 0.5);
}

În acest exemplu, valoarea alfa de 0,5 conferă o transparență de 50% culorii verzi, permițând conținutului de dedesubt să fie vizibil:

Avantaje: RGB și RGBA îți permit să controlezi culorile cu precizie, facilitând selecția nuanțelor exacte și crearea unor modele atractive vizual. Sunt compatibile cu majoritatea browserelor web, asigurând că paleta cromatică aleasă va fi afișată în mod unitar.

Dezavantaje: Dificultatea apare în asigurarea unor combinații de culori accesibile. Este esențial să acorzi atenție raporturilor de contrast, mai ales când lucrezi cu transparența în RGBA. Ghidurile WCAG te pot ajuta să te asiguri că designul tău este accesibil.

4. Valorile HSL și HSLA

HSL – prescurtare de la Hue, Saturation și Lightness – este o altă funcție CSS care definește culorile. Similar cu RGB, HSL utilizează valori numerice, dar o face într-un mod diferit. Este posibil să fii familiarizat cu valorile HSL din interfețele unor aplicații de design și din alte contexte.

Nuanța: Reprezintă culoarea în sine, folosind grade pe o roată cromatică, variind de la 0 la 360. Imaginează-ți că selectezi un punct pe un cerc, unde fiecare grad corespunde unei culori diferite. De exemplu, 0 și 360 de grade sunt pentru roșu, 120 de grade pentru verde și 240 de grade pentru albastru.

Saturația: Aceasta determină intensitatea sau puritatea culorii. Definește relația culorii cu gri, 0% fiind complet în tonuri de gri (desaturat) și 100% fiind complet saturat (vibrant și pur).

Luminozitatea: Reprezintă cât de strălucitoare sau întunecată apare culoarea. Este legată de poziția culorii pe spectrul dintre negru (0%) și alb (100%). O valoare de 50% indică culoarea normală, valorile sub 50% întunecă nuanța, iar valorile peste 50% o deschid.

Pe lângă HSL, există HSLA, unde „A” înseamnă „alfa”. Aceasta este similară cu „A” din RGBA și se referă la transparență.

Sintaxa este:

 color: hsl(valoare_nuanță, procent_saturație, procent_luminozitate);

Folosind această sintaxă, înlocuiește `valoare_nuanță`, `procent_saturație` și `procent_luminozitate` cu valorile specifice dorite. De exemplu:

 div {
background-color: hsl(120, 100%, 50%);
}

În acest exemplu, culoarea de fundal a unui element `div` este setată la un verde viu folosind valorile HSL. 120 reprezintă nuanța (verde), 100% este pentru saturație completă, iar 50% setează luminozitatea la un nivel echilibrat.

Avantaje: HSL și HSLA oferă calcule versatile de culoare folosind proprietăți personalizate CSS. Sunt compatibile cu majoritatea browserelor moderne și permit ajustarea ușoară a luminozității culorilor.

Dezavantaje: Învățarea HSL implică înțelegerea unor aspecte teoretice despre culori, cum ar fi nuanțele și saturațiile, ceea ce poate fi mai complicat decât în cazul culorilor RGB.

Valorificarea Puterii Culorilor CSS

Există mai multe metode pe care le poți explora și, pe măsură ce te familiarizezi cu diferitele formate de definire a culorilor în CSS, reține că ai puterea de a modela aspectul, atmosfera și experiența de utilizare a site-ului tău.

Alegerea formatului de culoare – indiferent că este vorba de nume simple, coduri hexazecimale, RGB sau HSL – poate afecta modul în care publicul tău percepe site-ul. Așadar, experimentează, învață și identifică definițiile de culoare care se potrivesc cel mai bine obiectivelor tale de design.