blog

CSS3 RGBA: le trasparenze senza Opacity

mercoledì 9 Marzo 2011

CSS3 RGBA le trasparenze senza Opacity

Continua la rubrica mensile Proprietà CSS3, che permettono di colorare con leggerezza il vostro sito.

La proprietà CSS3 di oggi è: RGBA che assegna a un elemento un colore in formato rgb e un’opacità. Prima di questa proprietà si utilizzava la proprietà Opacity, che presentava però diverse carenze, che in seguito analizzerò.

Vediamo subito come si presenta:

Testo Opaco

La sintassi della proprietà RGBA:

color: rgba(quantità rosso, quantità verde, quantità blu, opacità);

 

RGBA

Ci sono diversi modi per rappresentare un colore; il più diffuso è quello della codifica esadecimale (#9966FF) o del nome inglese del colore (red). Un’altro pratica per rappresentare i colori è l’utilizzo della specifica rgb (0,100,255).

La proprietà CSS3 RGBA, dove A stà per Alpha, introduce un nuovo valore per determinare il grado di opacità del colore:
0 corrisponde al 0% di opacità, con 0.5 il 50% di opacità e via dicendo, fino a raggiunge il valore massimo, 1, cioè il 100% di opacità, quindi la trasparenza totale.

Esempio di base di una scritta con opacità al 40%:

Testo CSS3 RGBA con opacità 40%

color: rgba(100, 200, 0, 0.4);

 

Che differenza c’è tra RGBA e Opacity?

A questo punto nascono le prime domande:
La vecchia proprietà Opacity non era uguale, se non meglio, dato che aveva una sintassi più breve?

La sintassi della proprietà Opacity:

opacity: 0.7;

La risposta è semplice, opacizzando una scritta il risultato è lo stesso, utilizzando una o l’altra proprietà, ma cosa succede se applichiamo a un div la proprietà Opacity a differenza di RGBA:

RGBA

Opacity

Notate la differenza?

La proprietà RGBA applica la trasparenza solo all’elemento div, mentre Opacity applica la trasparenza a tutti gli elementi contenuti all’interno del div, provocando spiacevoli risultati.

A quali elementi posso attribuire la proprietà RGBA?

RGBA, può essere applicata a tutti gli elementi a cui può essere assegnata la proprietà color, background-color e border-color, quest’ultimo rappresenta la vera novità introdotta da RGBA, cioè la dissolvenza dei bordi di un box. Di seguito vedremo alcuni esempi.

 

Testo opaco

www.simonedesign.it

h1 {
    color: rgba(0,129,204,0.5);
}
<h1>www.simonedesign.it</h1>

 

Box con trasparenza

www.simonedesign.it

.sfondo {
    margin-bottom:10px;
    background: url(bg.png) #093172;
    padding:20px;
}
 
.box {
    padding:10px;
    background-color: rgba(0,129,204,0.5); 
}
<div class="sfondo">
    <div class="box">
        <h1>www.simonedesign.it</h1>
    </div>
</div>

 

Dissolvenza bordi

www.simonedesign.it

.box {
    width:300px;
    padding:10px;
    border: 20px solid rgba(0,129,204,0.5);
}
<div class="box">
    <h1>www.simonedesign.it</h1>
</div>
Categorie: CSS
Tag:

Scrivi un commento

© 2010-2024 SimoneDesign.it    C.F. FRTSMN87P18F844X    P.I 01478670555  -  Licenza Creative Commons