02 Capítulo 2 · Lección 2

Sintaxis de Transform

Redactado por
Author Sebastian V.
Fecha de publicación

25/06/2024

Tiempo de lectura

5 min

Tema

CSS Transform

Escribiendo las reglas del movimiento

Si CSS fuera una receta de cocina, la propiedad transform sería el ingrediente secreto que cambia por completo la presentación de tu platillo. Sin embargo, al igual que en la repostería, las medidas y la forma de escribirlas importan muchísimo. Un error de sintaxis no romperá tu página, pero hará que tu elemento simplemente no se mueva.

Estructura básica: Propiedad y Función

A diferencia de propiedades como color o margin que toman valores simples como red o 20px, transform requiere que le pases funciones matemáticas.

La estructura siempre es la misma: la palabra transform, seguida de dos puntos, el nombre de la función (como translate, scale o rotate), y paréntesis que encierran los valores que esa función necesita.

Múltiples transformaciones: El arte del espacio

Aquí es donde muchos desarrolladores junior tropiezan. Si quieres que un elemento se mueva hacia arriba Y además crezca de tamaño, podrías pensar instintivamente en escribir dos propiedades transform separadas, o tal vez separarlas por comas.

La sintaxis correcta requiere que pongas todas las funciones en una sola línea, separadas únicamente por espacios.

> _
/* INCORRECTO: Sobreescribe la anterior */
transform: translateY(-20px);
transform: scale(1.2);

/* INCORRECTO: Las comas rompen el código */
transform: translateY(-20px), scale(1.2);

/* CORRECTO: Separado por espacios */
transform: translateY(-20px) scale(1.2);

El orden es fundamental

Imagina que le dices a alguien: "Camina 5 pasos hacia adelante y luego gira a la derecha". Eso lo llevará a un destino. Pero si le dices: "Gira a la derecha y luego camina 5 pasos hacia adelante", ¡terminará en un lugar completamente diferente!

CSS lee las funciones de transform de izquierda a derecha (aunque internamente se apliquen multiplicando matrices de derecha a izquierda). Lo vital es entender que si primero rotas un elemento, sus ejes "Arriba" y "Abajo" también rotan. Si luego le aplicas un translateY, no se moverá hacia el norte de tu pantalla, sino hacia donde apunte la nueva parte superior del elemento rotado.

Consejo profesional

Cuando uses múltiples transformaciones, acostúmbrate a este orden: Primero traslaciones (translate), luego rotaciones (rotate), y por último escalas (scale). Esto previene comportamientos inesperados causados por mover elementos cuyos ejes o tamaños ya han sido alterados.

Errores comunes

01
Separar funciones con comas En CSS Transform las funciones se encadenan usando un espacio en blanco. Las comas invalidarán toda la regla.
02
Declarar transform varias veces Por la cascada de CSS, la última propiedad transform sobreescribirá completamente a las anteriores. ¡Agrúpalas todas en una sola línea!
03
Olvidar las unidades de medida translateY(50) no funcionará. Debes especificar translateY(50px) o translateY(50%).

Domina la sintaxis

Crea un elemento y añade un hover que encadene tres transformaciones. Intenta cambiar el orden de la función rotate y translate para ver cómo afecta el destino final.

01 Selecciona la propiedad transform en tu CSS
02 Añade una función como translateX(50px)
03 Intenta añadir una segunda función sin comas separadoras
04 Observa qué ocurre si cambias el orden de las funciones