📢 Nuovo Corso Laravel API disponibile!

Transform in CSS

Trasformazioni 2D

Le trasformazioni CSS ti consentono di spostare, ruotare, scalare e inclinare gli elementi.

Metodi delle Trasformazioni 2D

Con la proprietà di trasformazione CSS è possibile utilizzare i seguenti metodi di trasformazione 2D:

  • translate()
  • rotate()
  • scaleX()
  • scaleY()
  • scale()
  • skewX()
  • skewY()
  • skew()
  • matrix()

Il Metodo translate()

Il metodo translate() sposta un elemento dalla sua posizione attuale (in base ai parametri dati per l’asse X e l’asse Y).

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

div {
transform: translate(50px, 100px);
}

Il Metodo rotate()

Il metodo rotate() ruota un elemento in senso orario o antiorario secondo un dato grado.

L’esempio seguente ruota l’elemento <div> in senso orario di 20 gradi:

div {
transform: rotate(20deg);
}

L’utilizzo di valori negativi ruoterà l’elemento in senso antiorario.

L’esempio seguente ruota l’elemento <div> in senso antiorario di 20 gradi:

div {
transform: rotate(-20deg);
}

Il Metodo scale()

Il metodo scale() aumenta o diminuisce le dimensioni di un elemento (in base ai parametri dati per la larghezza e l’altezza).

L’esempio seguente aumenta l’elemento <div> fino a due volte la sua larghezza originale e tre volte la sua altezza originale:

div {
transform: scale(2, 3);
}

L’esempio seguente riduce l’elemento <div> alla metà della sua larghezza e altezza originali:

div {
transform: scale(0.5, 0.5);
}

Il Metodo scaleX()

Il metodo scaleX() aumenta o diminuisce la larghezza di un elemento.

L’esempio seguente aumenta l’elemento <div> fino a due volte la sua larghezza originale:

div {
transform: scaleX(2);
}

L’esempio seguente riduce l’elemento <div> alla metà della sua larghezza originale:

div {
transform: scaleX(0.5);
}

Il Metodo scaleY()

Il metodo scaleY() aumenta o diminuisce l’altezza di un elemento.

L’esempio seguente aumenta l’elemento <div> fino a tre volte la sua altezza originale:

div {
transform: scaleY(3);
}

L’esempio seguente riduce l’elemento <div> alla metà della sua altezza originale:

div {
transform: scaleY(0.5);
}

Il Metodo skewX()

Il metodo skewX() inclina un elemento lungo l’asse X secondo l’angolo dato.

L’esempio seguente inclina l’elemento <div> di 20 gradi lungo l’asse X:

div {
transform: skewX(20deg);
}

Il Metodo skewY()

Il metodo skewY() inclina un elemento lungo l’asse Y secondo l’angolo dato.

L’esempio seguente inclina l’elemento <div> di 20 gradi lungo l’asse Y:

div {
transform: skewY(20deg);
}

Il Metodo skew()

Il metodo skew() inclina un elemento lungo gli assi X e Y secondo gli angoli dati.

L’esempio seguente inclina l’elemento <div> di 20 gradi lungo l’asse X e di 10 gradi lungo l’asse Y:

div {
transform: skew(20deg, 10deg);
}

Se il secondo parametro non è specificato, avrà un valore zero. Quindi, l’esempio seguente inclina l’elemento <div> di 20 gradi lungo l’asse X:

div {
transform: skew(20deg);
}

Il Metodo matrix()

Il metodo matrix() combina tutti i metodi di trasformazione 2D in uno solo.

Il metodo matrix() prende sei parametri, che contengono funzioni matematiche, che ti permettono di ruotare, scalare, spostare (traslare) e inclinare gli elementi.

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

div {
transform: matrix(1, -0.3, 0, 1, 0, 0);
}

Trasformazioni 3D

Metodi delle Trasformazioni 3D

Con la proprietà di trasformazione CSS è possibile utilizzare i seguenti metodi di trasformazione 3D:

  • rotateX()
  • rotateY()
  • rotateZ()

Il Metodo rotateX()

Il metodo rotateX() ruota un elemento intorno al suo asse X secondo un dato grado:

#myDiv {
transform: rotateX(150deg);
}

Il Metodo rotateY()

Il metodo rotateY() ruota un elemento intorno al suo asse Y secondo un dato grado:

#myDiv {
transform: rotateY(150deg);
}

Il Metodo rotateZ()

Il metodo rotateZ() ruota un elemento intorno al suo asse Z secondo un dato grado:

#myDiv {
transform: rotateZ(90deg);
}