Transformaciones CSS: rotate, scale, translate y skew

Área de pruebas de transformaciones CSS

Transformaciones CSS: rotate, scale, translate, skew, giro 3D | We.Inc

Mueve los controles deslizantes de rotate, scale, translate y skew y copia el CSS y las clases de Tailwind. Incluye el orden de las transformaciones, transform-origin, giros de tarjeta en 3D y animaciones fluidas.

Mueve, gira, redimensiona o inclina un elemento con la propiedad transform: transform: translate(20px, 0) rotate(15deg) scale(1.1) skewX(5deg). Las funciones se aplican de derecha a izquierda, así que su orden cambia el resultado. Las transformaciones nunca desplazan la maquetación de alrededor, y animarlas es barato porque el navegador puede pasarle el trabajo al compositor.

Las cuatro funciones de transformación 2D

Usa los controles deslizantes para construir una transformación y mira cómo reacciona una tarjeta; después alterna entre la propiedad transform única y las propiedades separadas translate, rotate y scale. Más abajo tienes la demo del origen, un giro 3D que puedes activar al pasar el ratón, recetas de transiciones y una nota sobre por qué las transformaciones van fluidas mientras top y left dan tirones.

Preguntas frecuentes

¿Por qué importa el orden de las funciones de transformación?

Cada función cambia el sistema de coordenadas de las que están escritas antes que ella, así que en la práctica la lista se aplica de derecha a izquierda. translate(100px) rotate(45deg) gira la caja y luego la desliza en línea recta hacia la derecha, mientras que rotate(45deg) translate(100px) la desliza a lo largo del eje girado, en diagonal.

¿Cuál es la diferencia entre transform: rotate() y la propiedad rotate?

Las propiedades rotate, scale y translate son versiones independientes de las mismas funciones. Se pueden definir y animar por separado, así que un scale al pasar el ratón no borra una rotación definida en otro sitio. El navegador aplica primero translate, después rotate, luego scale y por último lo que haya en transform.

¿Afecta transform a la maquetación o a otros elementos?

No. El elemento conserva su caja original en la maquetación y los vecinos no se mueven. Solo cambia su imagen pintada. Un elemento transformado sí crea un nuevo contexto de apilamiento y se convierte en el bloque contenedor de los descendientes con posición fija, lo que puede darte sorpresas con los modales.

¿Cómo volteo un elemento en horizontal?

Usa transform: scaleX(-1) o la propiedad scale con scale: -1 1. Refleja el elemento alrededor de su origen, que por defecto es el centro. Para un giro 3D que muestre una cara trasera, rota alrededor del eje Y dentro de un padre con perspective.

¿Por qué mi texto transformado se ve borroso?

Las traslaciones con fracciones y algunos valores de scale colocan los glifos entre píxeles, lo que los suaviza, sobre todo mientras se ejecuta una animación. Redondear los valores de translate a píxeles enteros y escalar hasta el tamaño final en vez de ampliar desde uno más pequeño suele dar un resultado más nítido.

Cómo leer una lista de transformaciones

Por qué las transformaciones se animan con fluidez

El 3D en un párrafo

Todas las funciones de transformación

Funciones de transformación 2D y 3D con sus utilidades de Tailwind

Orden de las operaciones

Las mismas dos funciones en otro orden dejan la caja en otro sitio. Las dos cajas azules empiezan en el mismo punto.

translate y luego rotate, frente a rotate y luego translate

En la primera caja, el desplazamiento se hace a lo largo del eje X de la pantalla. En la segunda, el desplazamiento sigue el eje girado, así que la caja acaba más abajo.

Las propiedades individuales no se sobrescriben entre sí

La regla de hover solo toca scale, así que el rotate definido en la regla base se mantiene. Con la forma abreviada transform tendrías que repetir rotate(-3deg) dentro de :hover.

La misma rotación, tres orígenes

El origen es el punto que se queda fijo. center es el valor por defecto; top left hace girar la caja como una puerta con la bisagra en la esquina.

Giro de tarjeta en 3D

Pasa el ratón o enfoca para girar (solo CSS)

perspective en el contenedor da profundidad, preserve-3d mantiene las dos caras en un mismo espacio 3D y backface-visibility oculta la cara que queda de espaldas. Quienes piden movimiento reducido ven un cambio instantáneo.

Combinar transformaciones con transiciones

Elevación al pasar el ratón para tarjetas y botones

Solo cambian transform y box-shadow, y el movimiento se desactiva para quienes piden menos movimiento.

La misma idea en Tailwind

motion-safe: aplica el movimiento al pasar el ratón solo cuando el lector no ha pedido movimiento reducido.

Qué es barato de animar

Trabajo de renderizado que provoca el cambio de una propiedad (comportamiento típico del navegador)

(sin transformación)

Área de pruebas de transformaciones

Estilo de salida

forma abreviada transform

propiedades individuales

Restablecer

Tarjeta

Contorno discontinuo: dónde está la tarjeta en la maquetación. Punto oscuro: el transform-origin.

Copiar CSS

Clases de Tailwind

Copiar clases

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio