Gli ultimi tutorial di sviluppo web
 

CSS trasformazioni 2D


CSS3 Transforms

trasforma CSS3 permette di tradurre, ruotare, scalare e inclinare gli elementi.

Una trasformazione è un effetto che permette un cambiamento di forma elemento, dimensione e posizione.

CSS3 supporta le trasformazioni 2D e 3D.

Mouse sopra gli elementi di seguito per vedere la differenza tra un 2D e una trasformazione 3D:

2D ruotare
rotazione 3D

Supporto browser per trasformazioni 2D

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

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

Proprietà
transform36.0
4.0 -webkit-
10.0
9.0 -ms-
16.0
3.5 -moz-
3.2 -webkit-23.0
15.0 -webkit-
12.1
10.5 -o-
transform-origin
(two-value syntax)
36.0
4.0 -webkit-
10.0
9.0 -ms-
16.0
3.5 -moz-
3.2 -webkit-23.0
15.0 -webkit-
12.1
10.5 -o-

Trasformazioni 2D CSS3

In questo capitolo si apprenderanno i seguenti metodi di trasformazione 2D:

  • translate()
  • rotate()
  • scale()
  • skewX()
  • skewY()
  • matrix()
NotaSuggerimento: Imparerai a conoscere le trasformazioni 3D nel prossimo capitolo.

La translate() Metodo

Tradurre

La translate() metodo sposta un elemento dalla posizione attuale (secondo i parametri indicati per l'asse X e l'asse Y).

L'esempio seguente sposta l' <div> elemento 50 pixel a destra, e 100 pixel verso il basso dalla sua posizione attuale:

Esempio

div {
    -ms-transform: translate(50px,100px); /* IE 9 */
    -webkit-transform: translate(50px,100px); /* Safari */
    transform: translate(50px,100px);
}
Prova tu stesso "

La rotate() Metodo

Ruotare

Il rotate() Metodo ruota un elemento in senso orario o antiorario secondo un determinato grado.

L'esempio seguente ruota il <div> elemento in senso orario con 20 gradi:

Esempio

div {
    -ms-transform: rotate(20deg); /* IE 9 */
    -webkit-transform: rotate(20deg); /* Safari */
    transform: rotate(20deg);
}
Prova tu stesso "

Usando valori negativi ruota l'elemento in senso antiorario.

L'esempio seguente ruota il <div> elemento in senso antiorario con 20 gradi:

Esempio

div {
    -ms-transform: rotate(-20deg); /* IE 9 */
    -webkit-transform: rotate(-20deg); /* Safari */
    transform: rotate(-20deg);
}
Prova tu stesso "

La scale() Metodo

Scala

Le scale() metodo aumenta o diminuisce la dimensione di un elemento (secondo i parametri indicati per la larghezza e altezza).

L'esempio seguente aumenta la <div> elemento ad essere due volte della sua larghezza originale, e tre volte della sua altezza originaria:

Esempio

div {
    -ms-transform: scale(2,3); /* IE 9 */
    -webkit-transform: scale(2,3); /* Safari */
    transform: scale(2,3);
}
Prova tu stesso "

Il seguente esempio diminuisce il <div> elemento per essere metà della sua larghezza e l'altezza originale:

Esempio

div {
    -ms-transform: scale(0.5,0.5); /* IE 9 */
    -webkit-transform: scale(0.5,0.5); /* Safari */
    transform: scale(0.5,0.5);
}
Prova tu stesso "

Il skewX() Metodo

Il skewX() metodo inclina un elemento lungo l'asse X l'angolo determinato.

L'esempio seguente distorce il <div> elemento di 20 gradi lungo l'asse X:

Esempio

div {
    -ms-transform: skewX(20deg); /* IE 9 */
    -webkit-transform: skewX(20deg); /* Safari */
    transform: skewX(20deg);
}
Prova tu stesso "

Il skewY() Metodo

Il skewY() metodo inclina un elemento lungo l'asse Y dall'angolo determinato.

L'esempio seguente distorce il <div> elemento di 20 gradi lungo l'asse Y:

Esempio

div {
    -ms-transform: skewY(20deg); /* IE 9 */
    -webkit-transform: skewY(20deg); /* Safari */
    transform: skewY(20deg);
}
Prova tu stesso "

Il skew() Metodo

Il skew() metodo inclina un elemento lungo X e Y dagli angoli indicati.

L'esempio seguente distorce il <div> elemento di 20 gradi lungo l'asse X, e 10 gradi lungo l'asse Y:

Esempio

div {
    -ms-transform: skew(20deg, 10deg); /* IE 9 */
    -webkit-transform: skew(20deg, 10deg); /* Safari */
    transform: skew(20deg, 10deg);
}
Prova tu stesso "

Se il secondo parametro non è specificato, ha un valore di zero. Così, il seguente esempio distorce il <div> elemento di 20 gradi lungo l'asse X:

Esempio

div {
    -ms-transform: skew(20deg); /* IE 9 */
    -webkit-transform: skew(20deg); /* Safari */
    transform: skew(20deg);
}
Prova tu stesso "

La matrix() Metodo

Ruotare

La matrix() metodo combina tutti i 2D trasformare metodi in uno.

La matrix() metodo di prendere sei parametri, che contiene le funzioni matematiche, che consente di ruotare, scalare, spostare (tradurre), e l'inclinazione elementi.

I parametri sono i seguenti: matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY()) :

Esempio

div {
    -ms-transform: matrix(1, -0.3, 0, 1, 0, 0); /* IE 9 */
    -webkit-transform: matrix(1, -0.3, 0, 1, 0, 0); /* Safari */
    transform: matrix(1, -0.3, 0, 1, 0, 0);
}
Prova tu stesso "

Mettiti alla prova con esercizi!

Esercizio 1 » Esercizio 2» Esercizio 3 » Esercizio 4»


CSS3 Transform Properties

La seguente tabella elenca tutte le 2D trasformano proprietà:

Proprietà Descrizione
transform Si applica una trasformazione 2D o 3D a un elemento
transform-origin Consente di modificare la posizione su elementi trasformati

2D Transform Metodi

Funzione Descrizione
matrix(n,n,n,n,n,n) Definisce una trasformazione 2D, utilizzando una matrice di sei valori
translate(x,y) Definisce traduzione 2D, muovere l'elemento lungo l'asse X e l'asse Y
translateX(n) Definisce traduzione 2D, muovere l'elemento lungo l'asse X
translateY(n) Definisce traduzione 2D, muovere l'elemento lungo l'asse Y
scale(x,y) Definisce una trasformazione in scala 2D, cambiando larghezza e l'altezza degli elementi
scaleX(n) Definisce una trasformazione in scala 2D, cambiando la larghezza dell'elemento
scaleY(n) Definisce una trasformazione in scala 2D, cambiando l'altezza dell'elemento
rotate(angle) Definisce una rotazione 2D, l'angolo viene specificato nel parametro
skew(x-angle,y-angle) Definisce un un'inclinazione 2D lungo l'asse X e l'asse Y
skewX(angle) Definisce un un'inclinazione 2D lungo l'asse X
skewY(angle) Definisce un un'inclinazione 2D lungo l'asse Y