CSS 2D Transforms

CSS 2D Transforms

Contenido original de W3Schools

Transformaciones 2D

Las transformaciones CSS le permiten mover, rotar, escalar y sesgar elementos.

En este capítulo aprenderá sobre la siguiente propiedad CSS:

  • transform

Compatibilidad con navegador

Los números de la tabla especifican la primera versión del navegador que es totalmente compatible con la propiedad.

PropiedadChromeEdgeMozillaSafariOpera
transform36.010.016.09.023.0

Métodos de transformación 2D

Con la propiedad transform puedes utilizar los siguientes métodos de transformación 2D:

  • translate()

  • rotate()

  • scaleX()

  • scaleY()

  • scale()

  • skewX()

  • skewY()

  • skew()

  • matrix()

Tip: Aprenderás más acerca de las transformaciones 3D en el próximo capítulo.


El método translate()

El método translate() mueve un elemento desde su posición actual (según los parámetros proporcionados para el eje X y el eje Y).

El siguiente ejemplo mueve el elemento <div> 50 píxeles a la derecha y 100 píxeles hacia abajo desde su posición actual:

Ejemplo:

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

Ver ejemplo


El método rotate()

El método rotate() gira un elemento en sentido horario o antihorario según un grado dado.

El siguiente ejemplo gira el elemento <div> en el sentido de las agujas del reloj 20 grados:

Ejemplo:

div {
  transform: rotate(20deg);
}

Ver ejemplo


El uso de valores negativos rotará el elemento en sentido contrario a las agujas del reloj.

El siguiente ejemplo gira el elemento <div> en sentido contrario a las agujas del reloj 20 grados:

Ejemplo:

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

Ver ejemplo


El método scale()

El método scale() aumenta o disminuye el tamaño de un elemento (según los parámetros dados para el ancho y alto).

El siguiente ejemplo aumenta el elemento <div> para que sea dos veces su ancho original y tres veces su altura original:

Ejemplo:

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

Ver ejemplo


El siguiente ejemplo reduce el elemento <div> a la mitad de su ancho y alto originales:

Ejemplo:

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

Ver ejemplo


El método scaleX()

El método scaleX() aumenta o disminuye el ancho de un elemento.

El siguiente ejemplo aumenta el elemento <div> al doble de su ancho original:

Ejemplo:

div {
  transform: scaleX(2);
}

Ver ejemplo


El siguiente ejemplo reduce el elemento <div> a la mitad de su ancho original:

div {
  transform: scaleX(0.5);
}

Ver ejemplo


El método scaleY()

El método scaleY() aumenta o disminuye la altura de un elemento.

El siguiente ejemplo aumenta el elemento <div> al triple de su altura original:

Ejemplo:

div {
  transform: scaleY(3);
}

Ver ejemplo


El siguiente ejemplo reduce el elemento <div> a la mitad de su altura original:

Ejemplo:

div {
  transform: scaleY(0.5);
}

Ver ejemplo


El método skewX()

El método skewX() sesga un elemento a lo largo del eje X en el ángulo dado.

El siguiente ejemplo sesga el elemento <div> 20 grados a lo largo del eje X:

Ejemplo:

div {
  transform: skewX(20deg);
}

Ver ejemplo


El método skewY()

El método skewY() sesga un elemento a lo largo del eje Y en el ángulo dado.

El siguiente ejemplo sesga el elemento <div> 20 grados a lo largo del eje Y:

Ejemplo:

div {
  transform: skewY(20deg);
}

Ver ejemplo


El método skew()

El método skew() sesga un elemento a lo largo de los ejes X y Y en los ángulos dados.

El siguiente ejemplo sesga el elemento <div> 20 grados a lo largo del eje X y 10 grados a lo largo del eje Y:

Ejemplo:

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

Ver ejemplo


Si no se especifica el segundo parámetro, tiene valor cero. Entonces, el siguiente ejemplo sesga el elemento <div> 20 grados a lo largo del eje X:

Ejemplo:

div {
  transform: skew(20deg);
}

Ver ejemplo


El método matrix()

El método matrix() combina todos los métodos de transformación 2D en uno.

El método matrix() toma seis parámetros, que contienen funciones matemáticas, que le permiten rotar, escalar, mover (traducir) y sesgar elementos.

Los parámetros son los siguientes: matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())

Ejemplo:

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

Ver ejemplo


Las propiedades transform

La siguiente tabla enumera todas las propiedades de transformación 2D:

PropiedadDescripción
transformAplica una transformación 2D o 3D a un elemento.
transform-originLe permite cambiar la posición de los elementos transformados.

Los métodos de transform

FunciónDescripción
matrix(n,n,n,n,n,n)Define una transformación 2D, utilizando una matriz de seis valores.
translate(x,y)Define una traslación 2D, moviendo el elemento a lo largo de los ejes X e Y.
translateX(n)Define una traslación 2D, moviendo el elemento a lo largo del eje X.
translateY(n)Define una traslación 2D, moviendo el elemento a lo largo del eje Y.
scale(x,y)Define una transformación de escala 2D, cambiando el ancho y alto de los elementos.
scaleX(n)Define una transformación de escala 2D, cambiando el ancho del elemento.
scaleY(n)Define una transformación de escala 2D, cambiando la altura del elemento.
rotate(angle)Define una rotación 2D, el ángulo se especifica en el parámetro.
skew(x-angle,y-angle)Define una transformación de sesgo 2D a lo largo de los ejes X e Y.
skewX(angle)Define una transformación de sesgo 2D a lo largo del eje X.
skewY(angle)Define una transformación de sesgo 2D a lo largo del eje Y.

Traducido con 💚 desde W3Schools.com

Did you find this article valuable?

Support Santos Romero by becoming a sponsor. Any amount is appreciated!