Questa è la traduzione dell'articolo Working With RGBA Colour di Drew McLellan pubblicato originariamente su 24 Ways il 1 Dicembre 2009.
Quando io e Tim discutevamo del redesign del sito di 24Ways l'anno scorso, una degli obiettivi chiave che ci siamo posti era quello di ottenere uno stile grafico accattivante senza appesantire la pagina con molte immagini. Quando abbiamo lanciato il sito molte persone sono rimaste sorprese dal fatto che il design non faceva uso di immagini PNG. Abbiamo invece usato i valori di colore RGBA, una funzionalità che è parte della specifica CSS3.
Siamo tutti abituati a definire i colori nei CSS usando un mix di rosso, verde e blue, il mix richiesto per ottenre la tonalità che vogliamo. Tutto ciò è bello e funziona, ma qualunque valore alla fine specifichiamo uno è il dato comune: i colori sono solidi, piatti e anche un po' noiosi.
Figura 1 - Colori RGB piatti
I CSS3 introducono un paio di nuovi modi per specificare i colori, uno di essi poggia sul sistema RGBA. La A sta per alpha, che si riferisce al livello di opacità del colore, oppure, per dirla in un altro modo, alla sua trasparenza. Ciò significa che siamo in grado di impostare non solo i valori per rosso, verde e blue, ma anche controllare quanto di ciò che sta dietro al colore viene mostrato. Proprio come con i livelli di Photoshop.
opacity. Facciamo un esempio.
Abbiamo un elemento h1 con colori di primo piano e sfondo impostati rispetto ad una pagina che ha un background a pattern.
Figura 2 - Un titolo senza trasparenza
h1 {
color: rgb(0, 0, 0);
background-color: rgb(255, 255, 255);
}
Impostando la proprietà opacity possiamo sistemare la trasparenza dell'intero elemento e del suo contenuto:
Figura 3 - Un titolo con il 50% di opacità applicato all'elemento
h1 {
color: rgb(0, 0, 0);
background-color: rgb(255, 255, 255);
opacity: 0.5;
}
Il colore RGBA ci consente qualcosa di diverso: la possibilità di controllare l'opacità dei singoli colori piuttosto che dell'intero elemento. Così possiamo definire l'opacità solo sullo sfondo:
Figura 4 - Opacità del 50% applicata all'elemento
h1 {
color: rgb(0, 0, 0);
background-color: rgba(255, 255, 255, 0.5);
}
Oppure possiamo lo sfondo con un colore solido e cambiare l'opacità solo sul testo:
Figura 5 - Opacità del 50% definita solo per il colore in primo piano
h1 {
color: rgba(0, 0, 0, 0.5);
background-color: rgb(255, 255, 255);
}
Responsive Desing, la guidaProgettare siti da fruire su dispositivi diversi è imprescindibile... |
Guida CSS3Scoprire e usare al meglio tutte le novità dell'ultima versione dei... |
Guida CSS Tecniche essenzialiTesto, immagini, layout, form, liste, tabelle: soluzioni pronte per... |
Ogni mercoledì, direttamente nella tua e-mail: guide, articoli, tutorial, FAQ e approfondimenti tecnici su CSS e Web Design.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |