Condividi questa pagina su:

altraSoluzione piace a:

Codici colore HTML+CSS

Stampa

Come modificare i colori nei testi HTML utilizzando i CSS.

Codici colore HTML+CSSCome modificare i colori in HTML con i CSS? Questa è una domanda che mi rivolgono molte persone, alle quali rispondo che, con un po' di pratica, è veramente molto semplice, anche scrivendo direttamente il codice e senza l'ausilio di editor visuali.

Per comprendere a fondo questo articolo dovresti conoscere almeno un po' di numerazione esadecimale. Nel caso tu sia del tutto digiuno, ti consiglio di leggere prima un altro mio articolo: "Bit, Byte, KiloByte, MegaByte, GigaByte, TeraByte: AIUTO!", in particolare la sezione "Il sistema esadecimale" e, se non sai cosa sono i CSS, puoi leggere l'articolo "Fogli di stile CSS: cosa sono e come applicarli".

Visualizza l'offerta su Amazon

Un po' di Fisica

Come sicuramente saprai già, è possibile riprodurre praticamente qualsiasi colore "sommando", in diverse proporzioni, tre colori primari: ROSSO (Red in inglese), VERDE (Green) e BLU (Blue), che chiameremo componenti RGB.

Questo vale della sintesi additiva, cioè quando, partendo dall'assenza di colore (nero), si sommano i colori come avviene, per esempio, sui monitor dei computer e sui televisori.

Nota: nella stampa, invece, si applica la sintesi sottrattiva, cioè si parte da "tutti i colori" (bianco) e, tramite gli inchiostri, si sottraggono quelli fondamentali, cioè ciano, magenta e giallo (CMY), che si ottengono da particolari miscele di rosso, verde e blu, come vedremo più avanti.

In informatica si è deciso di assegnare un Byte a ciascuna componente, in modo da poterla "regolare" su 256 livelli diversi (da 0 a 255).

In questo modo, miscelando diversamente le tre componenti RGB, è possibile ottenere più di 16 milioni di colori diversi (2563 = 16.777.216), che probabilmente sono molti di più di quanto possono apprezzare l'occhio e il cervello umano... femminili! Sì, perché noi maschietti ne distinguiamo molti di meno e ci basterebbe una "palette" di un centinaio di colori per soddisfare qualsiasi esigenza! Smile
Io poi ne distinguo al massimo una trentina! Smile

Ovviamente, come dimostrano le faccine sorridenti, sto scherzando ma... quanti di voi maschietti non si sono mai chiesti quale impercettibile differenza cromatica ci fosse tra due vestiti sui quali eravate chiamati a esprimere un'opinione, quasi sempre (giustamente) inascoltata? Smile

Ma torniamo a parlare dei codici colore...

Dalla teoria alla pratica

Cominciamo a vedere cosa succede se misceliamo questi colori al 100%, cioè ogni colore può essere semplicemente "acceso" (255) o "spento" (0), senza valori intermedi:

ROSSO 0 + VERDE 0 + BLU 0 = NERO

ROSSO 255 + VERDE 255 + BLU 255 = BIANCO

ROSSO 0 + VERDE 255 + BLU 255 = CIANO

ROSSO 255 + VERDE 0 + BLU 255 = MAGENTA

ROSSO 255 + VERDE 255 + BLU 0 = GIALLO

Osservando i primi due esempi della tabella precedente, si può facilmente intuire che, quando i tre colori hanno livelli uguali, si ottiene un grigio che ha una gradazione uguale a quella dei tre colori che lo compongono, da 0 (nero) a 255 (bianco). Verifichiamolo con qualche esempio:

ROSSO 50 + VERDE 50 + BLU 50 = GRIGIO 50

ROSSO 100 + VERDE 100 + BLU 100 = GRIGIO 100

ROSSO 150 + VERDE 150 + BLU 150 = GRIGIO 150

ROSSO 200 + VERDE 200 + BLU 200 = GRIGIO 200

Puoi sperimentare le diverse combinazioni di colori utilizzando un ottimo "tool" presente su questa pagina di w3schools.com.

Il Codice

Per modificare il colore di un testo si può utilizzare lo stile CSS color: valore, dove il valore può essere indicato tramite tre coppie esadecimali #RRGGBB oppure in decimale con la sintassi rgb(RRR, GGG, BBB)

Per esempio, volendo scrivere "Testo di prova" col colore magenta, possiamo utilizzare il codice
<span style="color: #ff00ff;">Testo di prova</span>.
In questo modo abbiamo richiesto un rosso di valore 255 (#ff in esadecimale), un verde a 0 (#00) e un blu a 255 (#ff) ed ecco il risultato:

Testo di prova

Per ottenere un grigio 200 utilizziamo la stessa tecnica impostando i tre colori a 200 (#c8 in esadecimale) tramite il codice
<span style="color: #c8c8c8;">Testo di prova</span>.
Così facendo otteniamo:

Testo di prova

Ora riproduciamo lo stesso colore magenta utilizzando, però, l'altra sintassi per indicare il colore, cioè
<span style="color: rgb(255, 0, 255);">Testo di prova</span>.
Come puoi vedere funziona ugualmente:

Testo di prova

Un altro metodo per indicare un colore è quello di utilizzare il suo nome. Però la lista dei colori è limitata soltanto a 140 nomi.

La sintassi è simile alla precedente e, per indicare il colore magenta, si può utilizzare il codice
<span style="color: magenta;">Testo di prova</span>, con questo risultato:

Testo di prova

Analogamente, si può cambiare il colore dello sfondo, aggiungendo lo stile background-color. Questo è il codice per avere il testo bianco su fondo rosso:
<span style="color: #ffffff; background-color: #ff0000;">Testo di prova</span>.
Questo è il risultato ottenuto:

Testo di prova

Volendo possiamo cambiare il colore di fondo in "acqua marina", il testo in nero e aggiungere un bordo rosso con uno spessore di 3 pixel:
<span style="color: #000000; background-color: #7fffd4; border: 3px solid #ff0000;">Testo di prova</span>.

Testo di prova

Insomma, con i CSS praticamente è possibile modificare il colore di qualsiasi oggetto, sempre con lo stesso metodo: una miscela dei colori rosso, verde e blu e spero che questi piccoli esempi abbiano reso il funzionamento del metodo RGB un po' più chiaro.

La trasparenza

Una variante della sintassi rgb(RRR, GGG, BBB) ci permette d'impostare anche la trasparenza, detta anche alpha channel (canale alfa) utile, per esempio, quando si desidera scegliere il colore di uno sfondo lasciando intravedere gli oggetti che sono sotto quello di cui stiamo stabilendo il colore.

La sintassi è leggermente diversa dal normale colore RGB ed è rgba(RRR, GGG, BBB, A.A). Notiamo rgba utilizzato al posto di rgb e la presenza di quattro valori invece di tre tra le parentesi.
I primi tre valori continuano a rappresentare i livelli RGB mentre il quarto (A.A) rappresenta l'opacità, con un valore compreso tra 0.0 e 1.0, dove 0.0 è completamente trasparente mentre 1.0 è completamente opaco (non trasparente).

Questa possibilità può essere utile in molti casi. Eccone uno:

Immagina di avere sulla tua pagina un'immagine e di voler avere, sovrapposto a quest'immagine, un rettangolo semi-trasparente con un testo al suo interno in modo da rendere leggibile il testo che altrimenti si confonderebbe con l'immagine, come in questo esempio:

Testo di esempio

In questo caso lo stile adottato per lo sfondo del testo è background-color: rgba(0, 0, 0, 0.5);. Cioè nero (R:0 G:0 B:0) con una trasparenza del 50% (alpha:0.5).

È possibile anche impostare un gradiente di trasparenza, cioè una opacità sfumata che va da 0 ai lati (completamente trasparente) a 0,8 al centro (trasparente al 20% oppure, se preferisci, opaco all'80%), in questo modo:

Testo di esempio

La sintassi in questo caso è un po' più complessa e non voglio confonderti con ulteriori codici, ma ho voluto mostrarti questo esempio per darti una visione il più ambia delle tante possibilità che i CSS offrono, informandoti anche del fatto che lo stesso effetto di sfumatura è possibile ottenerlo anche sui colori, non solo sulla trasparenza:

Conclusioni

Ovviamente puoi divertirti a provare diverse combinazioni di colori ma ricordati che dopo ogni modifica del file .html che stai utilizzando per fare le prove, devi ricaricare la pagina nel browser (premi il tasto F5) per vederne gli effetti.

Un piccolo "trucchetto" finale: i cosiddetti "colori pastello" si ottengono miscelando valori RGB con intensità superiori al 50%, cioè 128 nella scala da 0 a 255 oppure #80 in esadecimale, nella scala da #00 a #ff.
Quindi, per esempio, un azzurro pastello si può ottenere con i valori decimali 175,238,238 o #afeeee in esadecimale, con questo risultato:

ROSSO 175 + VERDE 238 + BLU 238 = Azzurro pastello

Vuoi un libro sull'HTML?
Acquista su Amazon!

Se vuoi chiedere ulteriori spiegazioni, non esitare a farlo lasciando un commento Facebook, oppure contattandomi in privato!

Grazie per avermi letto fin qui! Smile

E non dimenticare di mettere il tuo "Mi piace" qui sotto! Smile

Fabio Donna

OFFERTE Amazon di oggi
selezionate per te da altraSoluzione!
Vota l'articolo
1 1 1 1 1 Media: 5.00
Condividi l'articolo

Condividi questo articolo su:

Iscriviti alla Newsletter
per ricevere offerte e notizie via email!

Se hai delle domande o se vuoi esprimere un'opinione, contattami oppure lascia un commento Facebook!

OFFERTE Amazon di oggi

N.B.: i prezzi delle offerte su Amazon potrebbero variare nel corso della giornata. Verifica sempre prima dell'acquisto!

Condividi questo articolo su: