You Are Here: Home » CSS3 » Box-shadow – ombreggiatura degli elementi in CSS3

Box-shadow – ombreggiatura degli elementi in CSS3

La proprietà css3 box-shadow permette di aggiungere senza l’uso di immagine un effetto d’ombreggiatura agli elementi selezionati.

Grazie agli differenti valori del box-shadow, possiamo specificare che l’ombreggiatura sia posizionata a destra/sinistra e sotto/sopra verso l’esterno dell’elemento, la sua sfumatura (blur) ed il suo colore.

Il box-shadow non fa parte del ‘box-model’ nel senso che l’ombreggiatura aggiunta non è considerata nelle misure finale dell’elemento.

Questa proprietà css3 può essere combinata con altre proprietà come il css3 border-radius.

NB: Questa proprietà css3 è al momento supportata da Safari 3.1 in su con l’aggiunto del prefisso -webkit e Firefox3.5+ con l’aggiunto del prefizzo -moz (Ultimo aggiornamento: Maggio 2009)

Il box-shadow richiede al minimo 3 valori, 4 al massimo:

  • la larghezza orizzontale dell’ombreggiatura
    • Questo valore può essere sia positivo per un’ombreggiatura a destra, che negativo per una effetto a sinistra.
    • Esempi:
      box-shadow:10px 10px 20px #000000;
      box-shadow:-10px 10px 20px #000000;
  • la larghezza verticale dell’ombreggiatura
    • Questo valore può essere sia positivo per un’ombreggiatura sotto, che negativo per una effetto sopra.
    • Esempi:
      box-shadow:10px 10px 20px #000000;
      box-shadow:10px -10px 20px #000000;
  • il ‘blur radius’ – la ‘sfumatura’ dell’ombreggiatura
    • Questo valore può essere solo positivo con un minimo di zero
    • Più grande è il valore, più l’ombreggiatura sarà ‘sfumata’
    • Questo valore può essere omesso, pare a zero per un’ombreggiatura netta
    • Esempi:
      box-shadow:10px 10px 20px #000000;
      box-shadow:10px 10px 0 #000000; che vale lo stesso di box-shadow:10px 10px #000000;
  • il colore dell’ombreggiatura
    • Esempi:
      box-shadow:10px 10px 20px #000000;
      box-shadow:10px 10px 20px black;
      box-shadow:10px 10px 20px rgb(0,0,0);

NB: nella stesura del W3C della proprietà css3 box-shadow, sono proposte 2 altri valori non supportati:
- il ‘spread radius’ per aggiungere un bordo in tutte le direzione dell’elemento
- il ‘inset’ per aggiungere l’ombreggiatura a l’interno dell’elemento invece dell’esterno

Esempi di box-shadow

1. Box-shadow con valori positivi

Preview fatta con Safari 3.1:
css3 box-shadow esempio 1

Il risultato:

box-shadow:10px 10px 20px #000;
-webkit-box-shadow:10px 10px 20px #000;
-moz-box-shadow: 10px 10px 20px #000;

2. Box-shadow con valori negativi

Preview fatta con Safari 3.1:
css3 box-shadow esempio 2

Il risultato:

box-shadow:-20px -20px 5px #000;
-webkit-box-shadow:-20px -20px 5px #000;
-moz-box-shadow: -20px -20px 5px #000;

3. Box-shadow senza blur specificato (pare a zero)

Preview fatta con Safari 3.1:
css3 box-shadow esempio 3

Il risultato:

box-shadow:-10px 5px #000;
-webkit-box-shadow:-10px 5px #000;
-moz-box-shadow: -10px 5px #000;

4. Box-shadow + border-radius

Preview fatta con Safari 3.1:
css3 box-shadow esempio 4

Il risultato:

box-shadow:5px -5px 10px #000;
-webkit-box-shadow:5px -5px 10px #000;
-moz-box-shadow:5px -5px 10px #000000;
border-radius:25px; -moz-border-radius:25px; -webkit-border-radius:25px;

5. Box-shadow applicato a 2 elementi vicini – prova che l’ombreggiatura non fa parte del box-model

Preview fatta con Safari 3.1:
css3 box-shadow esempio 5

Il risultato:

This article in english >>

Ultimo aggiornamento Maggio 2009: compatibile con Firefox 3.5+

Sponsors of this article

About The Author

WebMaster

CEO e amministratore Network Flepstudio.org

Number of Entries : 85

Comments (6)

  • Marco Pegoraro

    solo una segnalazione sull’ordine delle direttive CSS presentate in questo articolo.

    Secondo me è meglio inserire per ultima la direttiva “css3 pura” box-shadow in modo che prenda il sopravvento sulle direttive specifiche per browser qualora il browser la supportasse:

    box-shadow:-10px 5px #000;
    -webkit-box-shadow:-10px 5px #000;
    -moz-box-shadow: -10px 5px #000;

    –> diventa –>

    -webkit-box-shadow:-10px 5px #000;
    -moz-box-shadow: -10px 5px #000;
    box-shadow:-10px 5px #000;

    A presto,
    Marco.

    Reply
  • anotherbreed

    Più che “larghezza orizzontale” e “altezza verticale” sarebbe la posizione dell’ombreggiatura, visto che le sue dimensioni non possono variare dall’oggetto che la genera.

    Reply
  • resiel

    Come al solito si perdono in un bicchiere d’acqua. L’uso del valore “0″ per le posizioni x ed y dell’ombra sarebbero legittime (assumento questi valori infatti, le ombre sono perfettamente simulate in ogni browser). L’effetto sarebbe il medesimo di una superflua proprietà: “spread radius”. Peccato che per ora, il validatore non accetta tale valore, malgrado i browser si.

    Reply

Leave a Comment

© 2012 Powered By Flepstudio.org

Scroll to top