Warning: Undefined array key "tbm_guide_level" in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Undefined array key "tbm_guide_level" in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Undefined array key "tbm_guide_level" in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Undefined array key "tbm_guide_level" in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113
Box-shadow, ombra da un solo lato | HTML.it
Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Box-shadow, ombra da un solo lato

Come ottenere un'ombra che si sviluppi su un solo lato di un box
Come ottenere un'ombra che si sviluppi su un solo lato di un box
Link copiato negli appunti

Abbiamo già affrontato di recente il tema dell'ombreggiatura nell'articolo Page curl, usi creativi della proprietà box-shadow. Torniamo ora sulla proprietà box-shadow con un brevissimo tutorial in cui spiegheremo come ottenere un'ombra che si sviluppi su un solo lato di un box.

Di norma, infatti, applicando la proprietà box-shadow su un elemento HTML, l'ombra compare su due dei quattro lati (per default su quello destro e inferiore):

Figura 1 - Ombra standard sui lati destro e inferiore
Ombra standard sui lati destro e inferiore
box-shadow: 5px 5px 10px 2px #333333;

Assegnando valori negativi per lo spostamento sugli assi X e Y, possiamo fare in modo che l'ombra si situi sui lati superiore e sinistro:

Figura 2 - Ombra spostata sui lati sinistro e superiore
Ombra spostata sui lati sinistro e superiore
box-shadow: -5px -5px 10px 2px #333333;

Azzerando i valori per lo spostamento sia sull'asse X sia sull'asse Y e aumentando il blur otteniamo un'ombra sui quattro lati:

Figura 3 - Ombra su quattro lati
screenshot
box-shadow: 0 0 25px #333333;

Come possiamo creare, dunque, un'ombra su uno solo dei lati? Semplice, lo abbiamo fatto nel nostro primo esempio

box-shadow: 0 18px 14px -14px rgba(0,0,0,0.6);

Analizziamo uno ad uno i valori utilizzati:

  1. Abbiamo impostato a 0 il valore per l'offset sull'asse orizzontale: eliminiamo così l'ombra sui lati destro/sinistro.
  2. Abbiamo impostato a 18px lo spostamento sull'asse verticale: essendo il valore positivo, l'ombra apparirà sul lato inferiore.
  3. Il valore di 14px fa riferimento alla sfocatura dell'ombra (blur).
  4. -14px definisce il valore per la diffusione (spread) dell'ombra.
  5. L'ultima parte riguarda l'impostazione del colore dell'ombra.

Il valore cruciale per ottenere l'esito che vogliamo è quello relativo alla diffusione, il quarto (-14px). In pratica, per avere un'ombra su un solo lato, è necessario inserire un valore negativo per la diffusione (spread). Tale valore deve essere uguale o poco maggiore rispetto a quello della sfocatura (14px). Aumentando il valore oltre misura, l'ombra tenderà ad attenuarsi fino a scomparire del tutto.

Nel secondo esempio

Per quanto riguarda il lato su cui applicare l'ombra, basterà agire sui valori dell'offset. E dunque, per un'ombra solo sul lato superiore scriveremo (esempio 3

box-shadow: 0 -18px 14px -14px rgba(0,0,0,0.6);

Solo sul lato destro (esempio 4

box-shadow: 18px 0 14px -14px rgba(0,0,0,0.6);

Solo sul lato sinistro (esempio 5

box-shadow: -18px 0 14px -14px rgba(0,0,0,0.6);

Tutti gli esempi sono disponibili per il download

Conclusioni e approfondimenti

La tecnica che abbiamo usato è stata proposta, tra i tanti altri, da Chris Coyer questo showcase

Per approfondire lo studio della proprietà box-shadow guida CSS3

Ti consigliamo anche