Vi siete mai chiesti come è stato ottenuto un particolare effetto in un web design come alcune sottili ombre, bordi, sfumature, ecc? In un passato non cosi lontato questo risultato si poteva ottenere semplicemente utilizzando un′immagine come sfondo di qualche elemento.
Fortunatamente, con CSS3, ci si può permettere una maggiore flessibilità.
Vi andremo a mostrare come creare un div con angoli stondati, uno sfondo gradiente ed un′ombreggiatura esterna semplicemente con l′uso del CSS3. Potrete riutilizza questo codice in molti casi e potrete divertirvi modificandone i parametri.
1. Cominciamo con il creare il Mark-up
Creare un nuovo file index.html ed incollate il seguente codice:
2 Creare il Canvas
Aggiungiamo qualche stile di base per l′elemento body. Per farlo potete scegliere di creare un CSS esterno o creare lo stile direttamente all′interno della nostra pagina:
-
body {
-
width: auto;
-
height: auto;
-
margin: 0;
-
padding: 20px 0;
-
background: #666;
-
}
3. Lo stile del Box
Adesso creiamo il nostro Box impostando altezza e larghezza:
-
#box {
-
/* Impostazioni di base */
-
width: 500px;
-
height: 500px;
-
}
4. Angoli Stondati
Implementiamo lo stile per la stondatura degli angoli del nostro Box:
-
/* Angoli Stondati */
-
-moz-border-radius: 5px; /* FF1+ */
-
-webkit-border-radius: 5px; /* Saf3-4 */
-
border-radius: 5px; /* Opera 10.5, IE 9, Saf5, Chrome */
Notate che stiamo fornendo anche la specifica finale di "border-radius," in aggiunta alle versioni di Mozilla e WebKit.
5. Colore dei Bordi
Mozilla offre una proprietà apposita chiamata "-moz-border-*-colors". Questo ci permette di impostare un numero infinito di colori i bordi. Per ottenere un leggero effetto "double-border", cerchiamo di attuare questa proprietà.
-
/* Bordi e Colori di base */
-
border: 2px solid white;
-
-
/* Colore del bordo multiplo FF3.5+ */
-
-moz-border-top-colors: #292929 white;
-
-moz-border-right-colors: #292929 white;
-
-moz-border-bottom-colors: #292929 white;
-
-moz-border-left-colors: #292929 white;
Si noti che la dimensione e lo stile del bordo non sono stati alterati, siamo intervenuti esclusivamente sul colore.
N.B. Non mettere una virgola dopo ogni valore esadecimale!
6. Compensazione per Webkit
Attualmente Webkit non supporta il border-colors, useremo quindi box-shadow per simulare questo effetto:
-
* Compensazione per Webkit */
-
-webkit-box-shadow: 0px -1px 2px #292929; /* Saf3.0+, Chrome */
Si noti che i valori forniti si riferiscono rispettivamente alla X offset, Y offset, sfocatura, ombra e colore. Passando -1px a Y, si può spingere l′ombra verso l′alto.
7. Sfondo Gradiente
Il passo finale è quello di fornire una leggera sfumatura di sfondo per il nostro box. Dobbiamo essere sicuri pero′ di fornire un colore web safe per i browser che non supportano gradienti CSS.
-
/* Gradiente e colore sostitutivo web safe */
-
background-color: #a4a4a4;
-
background-image: -moz-linear-gradient(top, #a4a4a4, #e3e3e3); /* FF3.6 */
-
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #a4a4a4),color-stop(1, #e3e3e3)); /* Saf4+, Chrome */
-
filter: progid:DXImageTransform.Microsoft.gradient( startColorStr=′#a4a4a4′, EndColorStr=′#e3e3e3′); /* IE6,IE7 */
-
-ms-filter: "progid:DXImageTransform.Microsoft.gradient( startColorStr=′#a4a4a4′, EndColorStr=′#e3e3e3′)"; /* IE8
Sfortunatamente Mozilla e WebKit non sono abbastanza d′accordo sulla sintassi per i gradienti...
Ecco il nostro codice finale:
-
body {
-
width: auto;
-
height: auto;
-
margin: 0;
-
padding: 20px 0;
-
background: #666;
-
}
-
/* Stile box */
-
#box {
-
/* Impostazioni di base */
-
width: 500px;
-
height: 500px;
-
-
/* Angoli Stondati */
-
-moz-border-radius: 5px; /* FF1+ */
-
-webkit-border-radius: 5px; /* Saf3-4 */
-
border-radius: 5px; /* Opera 10.5, IE 9, Saf5, Chrome */
-
-
/* Bordi e Colori di base */
-
border: 2px solid white;
-
-
/* Colore del bordo multiplo FF3.5+ */
-
-moz-border-top-colors: #292929 white;
-
-moz-border-right-colors: #292929 white;
-
-moz-border-bottom-colors: #292929 white;
-
-moz-border-left-colors: #292929 white;
-
-
/* Compensazione per Webkit */
-
-webkit-box-shadow: 0px -1px 2px #292929; /* Saf3.0+, Chrome */
-
-
* Gradiente e colore sostitutivo web safe */
-
background-color: #a4a4a4;
-
background-image: -moz-linear-gradient(top, #a4a4a4, #e3e3e3); /* FF3.6 */
-
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #a4a4a4),color-stop(1, #e3e3e3)); /* Saf4+, Chrome */
-
filter: progid:DXImageTransform.Microsoft.gradient( startColorStr=′#a4a4a4′, EndColorStr=′#e3e3e3′); /* IE6,IE7 */
-
-ms-filter: "progid:DXImageTransform.Microsoft.gradient( startColorStr=′#a4a4a4′, EndColorStr=′#e3e3e3′)"; /* IE8 */
-
}

Inserisci il tuo commento