Gli ultimi tutorial di sviluppo web
 

CSS Sfumature


gradiente di sfondo

gradienti di CSS3 consentono di visualizzare transizioni uniformi tra due o più determinati colori.

In precedenza, era necessario utilizzare le immagini di questi effetti. Tuttavia, utilizzando gradienti di CSS3 è possibile ridurre il tempo di download e l'uso della larghezza di banda. Inoltre, gli elementi con gradienti aspetto migliore quando l'ingrandimento, perché il gradiente è generata dal browser.

CSS3 definisce due tipi di gradienti:

  • Sfumature lineari (va giù / su / sinistra / destra / in diagonale)
  • Gradienti radiali (definito dal loro centro)

Supporto per il browser

I numeri nella tabella indicano la prima versione del browser che supporta pienamente la proprietà.

Numeri seguiti da -webkit-, -moz- , o -o- specificare la prima versione che ha lavorato con un prefisso.

Proprietà
linear-gradient 26.0
10.0 -webkit-
10.0 16.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.1 -o-
radial-gradient 26.0
10.0 -webkit-
10.0 16.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.6 -o-
repeating-linear-gradient 26.0
10.0 -webkit-
10.0 16.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.1 -o-
repeating-radial-gradient 26.0
10.0 -webkit-
10.0 16.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.6 -o-

CSS3 gradienti lineari

Per creare un gradiente lineare è necessario definire almeno due interruzioni di colore. interruzioni di colore sono i colori che si desidera rendere transizioni uniformi tra. È inoltre possibile impostare un punto di partenza e una direzione (o un angolo) insieme con l'effetto sfumato.

Sintassi

background: linear-gradient( direction , color-stop1 , color-stop2, ... );

Sfumatura lineare - verso il basso (questa è l'impostazione predefinita)

L'esempio seguente mostra un gradiente lineare che inizia nella parte superiore. Si inizia rosso, la transizione al giallo:

Esempio

#grad {
    background: red; /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(red, yellow); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(red, yellow); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(red, yellow); /* For Firefox 3.6 to 15 */
    background: linear-gradient(red, yellow); /* Standard syntax */
}
Prova tu stesso "

Sfumatura lineare - da sinistra a destra

L'esempio seguente mostra un gradiente lineare che parte da sinistra. Si inizia rosso, la transizione al giallo:

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(left, red , yellow); /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(right, red, yellow); /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(right, red, yellow); /* For Firefox 3.6 to 15 */
  background: linear-gradient(to right, red , yellow); /* Standard syntax */
}
Prova tu stesso "

Sfumatura lineare - Diagonal

È possibile effettuare una sfumatura diagonale specificando entrambe le posizioni di partenza orizzontale e verticale.

L'esempio seguente mostra un gradiente lineare che inizia in alto a sinistra (e va a destra in basso). Si inizia rosso, la transizione al giallo:

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(left top, red, yellow); /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(bottom right, red, yellow); /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(bottom right, red, yellow); /* For Firefox 3.6 to 15 */
  background: linear-gradient(to bottom right, red, yellow); /* Standard syntax */
}
Prova tu stesso "

con angoli

Se si desidera un maggiore controllo sulla direzione del gradiente, è possibile definire un angolo, al posto delle direzioni predefinite (verso il basso, verso l'alto, a destra, a sinistra, a destra in basso, etc.).

Sintassi

background: linear-gradient( angle , color-stop1 , color-stop2 );

L'angolo viene specificato come un angolo tra una linea orizzontale e la linea di sfumatura.

L'esempio seguente mostra come utilizzare gli angoli su gradienti lineari:

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(-90deg, red, yellow); /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(-90deg, red, yellow); /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(-90deg, red, yellow); /* For Firefox 3.6 to 15 */
  background: linear-gradient(-90deg, red, yellow); /* Standard syntax */
}
Prova tu stesso "

Utilizzo di più interruzioni di colore

L'esempio seguente mostra un gradiente lineare (dall'alto verso il basso) con più interruzioni di colore:

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(red, yellow, green); /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(red, yellow, green); /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(red, yellow, green); /* For Firefox 3.6 to 15 */
  background: linear-gradient(red, yellow, green); /* Standard syntax */
}
Prova tu stesso "

L'esempio seguente mostra come creare un gradiente lineare (da sinistra a destra) con il colore dell'arcobaleno e del testo:

gradiente di sfondo

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  /* For Safari 5.1 to 6.0 */
  background: -webkit-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* For Opera 11.1 to 12.0 */
  background: -o-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* For Fx 3.6 to 15 */
  background: -moz-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* Standard syntax */
  background: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);
}
Prova tu stesso "

utilizzando la trasparenza

gradienti CSS3 supportano anche la trasparenza, che può essere usato per creare effetti di dissolvenza.

Per aggiungere la trasparenza, si usa il rgba() la funzione di definire le interruzioni di colore. L'ultimo parametro nel rgba() funzione può essere un valore da 0 a 1, e definisce la trasparenza del colore: 0 indica trasparenza completa, 1 indica colori (senza trasparenza).

L'esempio seguente mostra un gradiente lineare che parte da sinistra. Si inizia completamente trasparente, la transizione a colori rosso:

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /*Safari 5.1-6*/
  background: -o-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Opera 11.1-12*/
  background: -moz-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Fx 3.6-15*/
  background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); /*Standard*/
}
Prova tu stesso "

Ripetizione lineare gradiente

La repeating-linear-gradient() funzione viene utilizzata per ripetere gradienti lineari:

Esempio

Un ripetendo gradiente lineare:

#grad {
  background: red; /* For browsers that do not support gradients */
  /* Safari 5.1 to 6.0 */
  background: -webkit-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* Opera 11.1 to 12.0 */
  background: -o-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* Firefox 3.6 to 15 */
  background: -moz-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* Standard syntax */
  background: repeating-linear-gradient(red, yellow 10%, green 20%);
}
Prova tu stesso "

CSS3 radiali gradienti

Un gradiente radiale è definito dal suo centro.

Per creare un gradiente radiale è anche necessario definire almeno due interruzioni di colore.

Sintassi

background: radial-gradient( shape size at position, start-color, ..., last-color );

Per impostazione predefinita, la forma è un'ellisse, la dimensione è più lontano angolo, e la posizione è centrale.

Radial Gradient - equidistanti Colore fermate (questa è l'impostazione predefinita)

L'esempio seguente mostra un gradiente radiale con interruzioni di colore equidistanti:

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  background: -webkit-radial-gradient(red, yellow, green); /* Safari 5.1 to 6.0 */
  background: -o-radial-gradient(red, yellow, green); /* For Opera 11.6 to 12.0 */
  background: -moz-radial-gradient(red, yellow, green); /* For Firefox 3.6 to 15 */
  background: radial-gradient(red, yellow, green); /* Standard syntax */
}
Prova tu stesso "

Sfumatura radiale - a differenza Spaced interruzioni di colore

L'esempio seguente mostra un gradiente radiale con interruzioni di colore diverso distanziati:

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  background: -webkit-radial-gradient(red 5%, yellow 15%, green 60%); /* Safari 5.1-6.0 */
  background: -o-radial-gradient(red 5%, yellow 15%, green 60%); /* For Opera 11.6-12.0 */
  background: -moz-radial-gradient(red 5%, yellow 15%, green 60%); /* For Firefox 3.6-15 */
  background: radial-gradient(red 5%, yellow 15%, green 60%); /* Standard syntax */
}
Prova tu stesso "

set Forma

Il parametro di forma definisce la forma. Si può prendere il cerchio valore o ellisse. Il valore predefinito è un'ellisse.

L'esempio seguente mostra un gradiente radiale con la forma di un cerchio:

Esempio

#grad {
  background: red; /* For browsers that do not support gradients */
  background: -webkit-radial-gradient(circle, red, yellow, green); /* Safari */
  background: -o-radial-gradient(circle, red, yellow, green); /* Opera 11.6 to 12.0 */
  background: -moz-radial-gradient(circle, red, yellow, green); /* Firefox 3.6 to 15 */
  background: radial-gradient(circle, red, yellow, green); /* Standard syntax */
}
Prova tu stesso "

L'utilizzo di dimensioni diverse parole chiave

Il parametro size definisce la dimensione del gradiente. Si può prendere quattro valori:

  • vicino-side
  • più lontano-side
  • vicino-angolo
  • più lontano angolo

Esempio

Un gradiente radiale con parole chiave diverse dimensioni:

#grad1 {
  background: red; /* For browsers that do not support gradients */
  /* Safari 5.1 to 6.0 */
  background: -webkit-radial-gradient(60% 55%, closest-side, red, yellow, black);
  /* For Opera 11.6 to 12.0 */
  background: -o-radial-gradient(60% 55%, closest-side, red, yellow, black);
  /* For Firefox 3.6 to 15 */
  background: -moz-radial-gradient(60% 55%, closest-side, red, yellow, black);
  /* Standard syntax */
  background: radial-gradient(closest-side at 60% 55%, red, yellow, black);
}

#grad2 {
  /* Safari 5.1 to 6.0 */
  background: -webkit-radial-gradient(60% 55%, farthest-side, red, yellow, black);
  /* Opera 11.6 to 12.0 */
  background: -o-radial-gradient(60% 55%, farthest-side, red, yellow, black);
  /* For Firefox 3.6 to 15 */
  background: -moz-radial-gradient(60% 55%, farthest-side, red, yellow, black);
  /* Standard syntax */
  background: radial-gradient(farthest-side at 60% 55%, red, yellow, black);
}
Prova tu stesso "

Ripetizione di una radiale gradiente

La repeating-radial-gradient() funzione viene utilizzata per ripetere gradienti radiali:

Esempio

Un gradiente radiale ripetendo:

#grad {
  background: red; /* For browsers that do not support gradients */
  /* For Safari 5.1 to 6.0 */
  background: -webkit-repeating-radial-gradient(red, yellow 10%, green 15%);
  /* For Opera 11.6 to 12.0 */
  background: -o-repeating-radial-gradient(red, yellow 10%, green 15%);
  /* For Firefox 3.6 to 15 */
  background: -moz-repeating-radial-gradient(red, yellow 10%, green 15%);
  /* Standard syntax */
  background: repeating-radial-gradient(red, yellow 10%, green 15%);
}
Prova tu stesso "

Mettiti alla prova con esercizi!

Esercizio 1 » Esercizio 2» Esercizio 3 » Esercizio 4» Esercizio 5 » Esercizio 6» Esercizio 7 »