Come aggiungere ombreggiature a testi, contenitori HTML e immagini con il CSS3 usando i tag box-shadow e text-shadow.
Nel precedente post abbiamo visto che con i linguaggi HTML e CSS si possono creare dei bottoni professionali completamente personalizzabili.
In alcuni di quei bottoni abbiamo visto come si possa aggiungere anche una ombreggiatura sia al testo sia al bottone per dare una forma tridimensionale. Ho quindi pensato di riprendere questo tema che avevo già affrontato qualche anno fa aggiungendovi altri dettagli.
La gestione delle ombreggiature ha avuto un grande sviluppo con l'introduzione del linguaggio CSS3 che h implementato tale funzionalità. In precedenza solo il browser Opera supportava nativamente l'ombreggiatura e fino a poco fa dovevamo aggiungere una riga di codice per tutti i browser affinché mostrassero anche le ombre.
Attualmente non è più necessario e il tag box-shadow viene supportato anche da Chrome, Firefox, Microsoft Edge oltre che da Opera. Non sarà quindi più necessario usare i tag specifici -moz-box-shadow per Firefox e -webkit-box-shadow per Chrome. Vediamo come funziona questo tag.
COME FUNZIONA IL TAG BOX-SHADOW
Il tag box-shadow viene inserito in CSS con una riga come la seguente
box-shadow: 5px 5px 15px 4px #999;
in cui sono stati aggiunti ben 4 parametri però solo i primi due sono obbligatori. Il codice del colore mostrato in blu è il colore scelto per l'ombra che in genere è grigio ma ci possono essere eccezioni.
- Il primo valore 5px determina lo spostamento dell'ombra in senso orizzontale. Se il valore è positivo l'ombra viene mostrata sulla destra dell'oggetto HTML, se negativo sulla sinistra.
- Il secondo valore 5px determina lo spostamento in senso verticale. Con valori positivi l'ombra viene aggiunta sotto all'oggetto HTML con valori negativi al di sopra.
- Il terzo valore 15px determina il livello di sfocatura ovvero il blur radius. Più alto è il valore più sfocata sarà l'ombra. Con valore 0 l'ombra sarà netta senza sfocatura.
- Il quarto valore 4px è detto spread radius e determina il livello di diffusione. Più i valori sono alti più l'ombra tenderà a espandersi in tutte le direzioni.
Vediamo un esempio di come usare l'ombreggiatura con un contenitore classico che abbia questo codice
<style>
.contenitore {
width:400px;
height:250px;
background-color:yellow;
border: 1px solid #111;
box-shadow: 10px 12px 14px 4px #a63800;
}
</style>
<div class="contenitore"></div>
.contenitore {
width:400px;
height:250px;
background-color:yellow;
border: 1px solid #111;
box-shadow: 10px 12px 14px 4px #a63800;
}
</style>
<div class="contenitore"></div>
Se incollato in una pagina web produrrà questo risultato
Se nel codice precedente si eliminano i due ultimi parametri che sono opzionali e i primi due si mettono con i valori negativi si ottiene questo risultato
con una ombra senza sfocatura e visibile in alto e a sinistra invece che in basso e a destra.
COME AGGIUNGERE DELLE OMBRE INTERNE
Con il CSS si possono aggiungere anche ombre interne invece che esterne. Si utilizza il tag inset che viene aggiunto subito dopo a box-shadow. Ecco un esempio di codice
<style>
.contenitore {
width:400px;
height:250px;
background-color:orange;
border: 1px solid #111;
box-shadow: inset 10px 12px 10px 2px #a63800;
}
</style>
<div class="contenitore"></div>
.contenitore {
width:400px;
height:250px;
background-color:orange;
border: 1px solid #111;
box-shadow: inset 10px 12px 10px 2px #a63800;
}
</style>
<div class="contenitore"></div>
che produce questo risultato
Per creare una ombreggiatura in un testo dovremo usare un nuovo tag.
COME FUNZIONA IL TAG TEXT-SHADOW
Il tag text-shadow funziona nello stesso modo del tag box-shadow però si usano solo i primi tre parametri. Ecco un esempio di codice in cui ho utilizzato una ombreggiatura rossa per renderla più evidente
<style>
.ombreggiatura {
color:#036;
text-align:center;
font-size:48px;
text-shadow: 2px 2px 6px #f00;
}
</style>
<div class="ombreggiatura">Testo ombreggiato</div>
.ombreggiatura {
color:#036;
text-align:center;
font-size:48px;
text-shadow: 2px 2px 6px #f00;
}
</style>
<div class="ombreggiatura">Testo ombreggiato</div>
Il risultato di questo codice è il seguente
Ho aggiunto anche i tag per la dimensione dei font, per il colore del testo e per centrarlo nella pagina. Si può anche aggiungere del testo con ombreggiatura a un contenitore a sua volta ombreggiato con questo codice
<style>
.contenitore {
width:400px;
height:100px;
background-color:yellow;
border: 1px solid #111;
box-shadow: 5px 5px 10px #a63800;
color:#036;
text-align:center; /*Per centrare il testo*/
font-size:48px; /* Dimensioni font */
text-shadow: 2px 2px 6px #f00;
line-height:85px; /*Per centrare verticalmente*/
}
</style>
<div class="contenitore">Testo ombreggiato</div>
.contenitore {
width:400px;
height:100px;
background-color:yellow;
border: 1px solid #111;
box-shadow: 5px 5px 10px #a63800;
color:#036;
text-align:center; /*Per centrare il testo*/
font-size:48px; /* Dimensioni font */
text-shadow: 2px 2px 6px #f00;
line-height:85px; /*Per centrare verticalmente*/
}
</style>
<div class="contenitore">Testo ombreggiato</div>
che produce questo risultato quando aggiunto in una pagina web
Le ombreggiature possono essere aggiunte anche alle immagini con i programmi di grafica tipo Photoshop e Gimp. Lo si può però anche fare successivamente con il linguaggio CSS3.
COME AGGIUNGERE OMBREGGIATURA A UNA IMMAGINE
Per aggiungere una ombra a una immagine occorre innanzitutto caricare l'immagine sul web o ottenerne il link diretto per esempio postandola su Google Foto oppure anche soltanto inserendola in una Bozza di Blogger. Si utilizza il tag box-shadow adattandolo in questo modo
<style>
.shadow {
width: 400px;
height: 100px;
border:1px solid #aaa;
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu8MbrNIgUlHZGufrBvcd4TfUgm1Qq10N3tji3j176GGEz27M84c6tNkzGvwLcM-fJNzfylpNscquIW1D5icRqTXd_sy2pi3gUlpQGKr-3jMUwnV9jGgYOLastZbd4dLyUNIo5-H7KGR3Z/s400/Header-ipcei-165.png) no-repeat;
box-shadow: 10px 10px 25px #999;
}
</style>
<div class="shadow"></div>
.shadow {
width: 400px;
height: 100px;
border:1px solid #aaa;
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu8MbrNIgUlHZGufrBvcd4TfUgm1Qq10N3tji3j176GGEz27M84c6tNkzGvwLcM-fJNzfylpNscquIW1D5icRqTXd_sy2pi3gUlpQGKr-3jMUwnV9jGgYOLastZbd4dLyUNIo5-H7KGR3Z/s400/Header-ipcei-165.png) no-repeat;
box-shadow: 10px 10px 25px #999;
}
</style>
<div class="shadow"></div>
dove ho messo anche un bordo e ho lasciato l'URL diretto all'Header di questo sito per rendere le cose più chiare. Il risultato che si ottiene è il seguente
Chi non avesse conoscenze di base su HTML e CSS può scaricare gratis il mio ebook Guida all'HTML e al CSS.
Nessun commento :
Posta un commento
Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.
Info sulla Privacy