logo Dove iniziare Linguaggi Aiuto Blog
Home Dove iniziare Linguaggi Aiuto e Supporto Info e Blog

I colori in CSS

I colori in CSS permettono di modificare e personalizzare l'aspetto visivo degli elementi di una pagina web. È possibile rendere una pagina più attraente, oppure suscitare emozioni diverse. Inoltre, l'uso dei colori può migliorare l'esperienza utente, facilitando la lettura e la navigazione.

In questa lezione, vediamo come usare i colori in CSS.

Le diverse tipologie di colori

In CSS/HTML, i colori possono avere forma diversa:

  • Scritti attraverso il proprio nome predefinito (ecco la lista completa):
    BlueVioletCoralGoldenrodIndianRed
  • Scritti attraverso il valore esadecimale (HEX):
    #008B8B#006400#483D8D#1E90FF
  • Scritti attraverso il valore RGB:
    rgb(65, 60, 88)rgb(163, 196, 188)rgb(191, 215, 181)rgb(231, 239, 197)
  • Scritti attraverso il valore HSL:
    hsl(345, 93%, 22%)hsl(40, 90%, 61%)hsl(64, 100%, 66%)hsl(115, 100%, 64%)

Prima di approfondire le varie tipologie di colore, diamo un'occhiata a qualche esempio del loro utilizzo.

Dove usare i colori

I colori vengono utilizzati davvero tanto nelle pagine web. Ad esempio, possiamo colorare il testo di un link di colore verde scuro (approfondiremo i colori dei testi nelle lezioni successive):

<a href="biadets.com">Vai a biadets.com</a>

<style>
a {
  color: DarkGreen;
}
</style>

Oppure, possiamo colorare lo sfondo di un elemento di arancio (che vedremo nella lezione sugli sfondi degli elementi):

<h1>Questo testo è evidenziato di arancio</h1>

<style>
h1 {
  background-color: orange;
}
</style>

I colori usando il nome predefinito

Negli anni si è scelto di creare uno standard di nomi di colori che potessero essere più semplici da ricordare. Fino ad ora, sono disponibili 140 colori HTML/CSS standard che abbiamo raccolto nella lista dei colori standard.

Ad ogni colore, corrisponde un valore HEX che si può utilizzare in sostituzione del nome.

Tutti i diversi browser supportano questi colori predefiniti.

Per utilizzarli, basta utilizzare il nome del colore:

<h1>Questo testo è evidenziato di blu</h1>

<style>
h1 {
  background-color: DeepSkyBlue;
}
</style>

I colori usando il valore HEX (esadecimale)

Utilizzare il valore esadecimale è il modo più semplice, oltre al nome, per scrivere un colore. Infatti, esistono milioni di colori diversi, e non tutti hanno un nome proprio. Diventa essenziale, quindi, poterli scrivere tramite HEX.

La sintassi è: #RRGGBB

Oltre al cancelletto, deve essere scritta una sequenza di 6 caratteri:

  • RR rappresentano l'intensità del rosso.
  • GG rappresentano l'intensità del verde.
  • BB rappresentano l'intensità del blu.

Ogni carattere può essere un numero da 0 a 9 oppure una lettera da A a F. Il valore 0 rappresenta la minima intensità del colore. Il valore F rappresenta la massima intensità del colore.

Ad esempio, #FF0000 rappresenta il rosso puro, perché:

  • FF per il rosso indica la massima intensità.
  • 00 per il verde e il blu indicano la minima intensità.

<h1>Questo testo è evidenziato di verde</h1>

<style>
h1 {
  background-color: #00FF00;
}
</style>

Nell'esempio, il valore HEX rappresenta il verde puro, perché FF indica la massima intensità per il verde e 00 la minima intensità per gli altri colori.

I valori HEX abbreviati

Potrebbe capitarti all'interno di qualche file CSS di notare un valore HEX di 3 caratteri invece che 6.

I colori HEX a 3 cifre sono una variante del sistema di colori HEX che utilizza solo 3 caratteri invece dei 6 standard per rappresentare un colore.

La sintassi è molto simile: #RGB

Dopo il cancelletto, segue una sequenza di 3 caratteri:

  • Il primo carattere rappresenta l'intensità del rosso.
  • Il secondo carattere rappresenta l'intensità del verde.
  • Il terzo carattere rappresenta l'intensità del blu.

I colori HEX abbreviati sono ottenuti ripetendo ogni carattere due volte. In pratica, ogni carattere rappresenta l'intensità sia della prima componente che della seconda di quel colore.

Ad esempio, il colore #F00 rappresenta il rosso puro. È equivalente al codice HEX completo #FF0000.
Il codice #0F0 rappresenta il verde puro ed equivale a #00FF00.

<h1>Questo testo è evidenziato di verde</h1>

<style>
h1 {
  background-color: #0F0; /* Uguale a #00FF00 */
}
</style>

I colori usando il valore RGB

L'acronimo RGB sta per Red, Green, Blue, ovvero rosso, verde e blu. Questi tre colori primari della luce, combinandosi in diverse proporzioni, creano l'intera gamma di colori visibili dall'occhio umano.

Come funziona? Immaginiamo una tavolozza di tre pitture: una con vernice rossa, una con vernice verde e una con vernice blu. Mescolando queste vernici in diverse proporzioni, possiamo ottenere qualsiasi colore desiderato. L'intensità di ogni colore è rappresentata da un valore numerico compreso tra 0 e 255: 0 indica l'assenza di colore, mentre 255 indica la massima intensità di colore.

La sintassi è: rgb(R, G, B)

Ecco a cosa corrispondono R, G e B:

  • R rappresenta l'intensità del rosso da 0 a 255.
  • G rappresenta l'intensità del verde da 0 a 255.
  • B rappresenta l'intensità del blu da 0 a 255.

Ad esempio, il colore rosso puro può essere rappresentato dal codice rgb(255, 0, 0), il verde viene scritto come rgb(0, 255, 0), il bianco come rgb(255, 255, 255), e così via.

<h1>Questo testo è evidenziato di verde</h1>

<style>
h1 {
  background-color: rgb(0, 128, 0); /* Verde scuro */
}
</style>

Il formato RGBA

Oltre al semplice RGB, esiste anche il formato RGBA (Red, Green, Blue, Alpha), che è un'estensione del formato RGB che aggiunge un canale alfa (ecco perché la "A" in più) per la gestione della trasparenza.

La sitassi rimane simile: rgba(R, G, B, A)

Il valore Alfa è rappresentato da un numero compreso tra 0 e 1, dove:

  • 0 indica trasparenza totale, ovvero il colore è completamente invisibile.
  • 1 indica opacità totale, ovvero il colore è completamente visibile.

<h1>Questo testo è evidenziato di rosso</h1>

<style>
h1 {
  background-color: rgba(255, 0, 0, 0.5); /* Rosso semitrasparente */
}
</style>

I colori usando il valore HSL

Il formato di colore HSL (Hue, Saturation, Lightness) rappresenta un metodo alternativo per definire i colori basato su tre componenti: tonalità, saturazione e luminosità.

La sintassi è: hsl(H, S%, L%)

Ecco come funziona:

  • H (Tonalità) esprime il colore primario (rosso, verde, blu, etc.) in gradi, con un valore compreso tra 0 e 360. Ad esempio, 0 rappresenta il rosso, 120 rappresenta il verde, 240 rappresenta il blu.
  • S (Saturazione) determina l'intensità del colore, con un valore compreso tra 0% e 100%. Ad esempio, 0% indica un colore grigio (assenza di saturazione) e 100% indica un colore acceso.
  • L (Luminosità) controlla la luminosità del colore, con un valore compreso tra 0% e 100%.

Ad esempio, ecco come creare il verde:

<h1>Questo testo è evidenziato di verde</h1>

<style>
h1 {
  background-color: hsl(120, 100%, 50%); /* Verde acceso */
}
</style>

Il formato HSLA

Il formato colore HSLA (Hue, Saturation, Lightness, Alpha) in CSS è un'estensione del formato HSL che aggiunge un canale alfa per la gestione della trasparenza.

La sintassi è: hsla(H, S%, L%, A)

Il canale alfa è rappresentato da un valore decimale compreso tra 0 e 1, dove 0 indica trasparenza totale, ovvero il colore sottostante è completamente invisibile, e 1 indica opacità totale, ovvero il colore è completamente visibile.

<h1>Questo testo è evidenziato di blu</h1>

<style>
h1 {
  background-color: hsla(240, 100%, 50%, 0.5); /* Blu semitrasparente */
}
</style>


Se ti serve, ecco la lista completa dei colori HTML/CSS.

Prova!Scegli l'opzione corretta tra quelle elencate.
/* Scegli il colore corretto del verde */
color: _____________