Transform origin en CSS: el secreto para crear transformaciones más precisas

| Última modificación: 18 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabías que cada vez que aplicas una transformación en CSS, como rotar o escalar un elemento, hay un punto invisible que define cómo se realiza esa acción? Ese punto se llama transform origin y entender cómo funciona puede marcar una gran diferencia en el diseño de tu página web. Así que si quieres aprender qué es y para qué sirve transform origin en CSS, en este artículo te contaré cuáles son sus elementos principales y cómo puedes usarlo.

Transform origin en CSS: el secreto para crear transformaciones más precisas

¿Qué es transform origin en CSS?

Cuando usas la propiedad transform en CSS para aplicar transformaciones como rotaciones, escalas o traslaciones, estas se realizan en relación con un punto central predeterminado: el centro del elemento. Sin embargo, puedes modificar este punto de referencia usando transform origin.

En otras palabras, transform origin define el punto exacto desde el cual se aplica la transformación, lo que te da mayor control sobre el comportamiento visual de tus elementos. 

Por ejemplo, imagina una puerta que se abre. ¿Verdad que su rotación no ocurre desde el centro, sino desde una de sus bisagras? Cambiando la propiedad transform origin, puedes replicar ese tipo de movimientos en tus diseños.

¿Para qué sirve transform origin en CSS?

La principal ventaja de esta propiedad es que te da un control preciso sobre cómo y dónde ocurren las transformaciones. En ese sentido, es muy útil para llevar a cabo las siguientes tareas:

  1. Mejorar la estética de las animaciones: Puedes evitar movimientos bruscos o poco naturales al ajustar el punto de transformación.
  2. Diseños interactivos personalizados: Te permite añadir botones, íconos o gráficos que reaccionan al usuario de forma visualmente coherente.
  3. Crear efectos 3D: Junto con otras propiedades como perspective o rotate3d, transform origin es esencial para crear efectos tridimensionales.
  4. Optimizar el diseño responsive: Al usar porcentajes, puedes asegurarte de que las transformaciones sean consistentes en los diferentes tamaños de pantalla.

Sintaxis de transform origin

CSS se caracteriza por ser un lenguaje sencillo y accesible. Generalmente, sus propiedades tienen una sintaxis fácil y consistente, donde la declaración de estilo está compuesta por un selector y un bloque de declaraciones, como es el caso de transform origin:

transform-origin: <x> <y> [<z>];

Valores principales de transform origin

Si quieres aprender a usar esta propiedad, es necesario que entiendas cómo funcionan sus valores y cómo afectan a las transformaciones.

Unidades relativas y absolutas

transform-origin acepta valores relativos (%) y absolutos (px, em).

Relativos

Este es el valor predeterminado.

transform-origin: 50% 50%; /* Centro del elemento */

Absolutos

Aquí defines el punto de origen en coordenadas absolutas respecto al borde del elemento.

transform-origin: 10px 20px;

Palabras clave

También puedes usar palabras clave para simplificar las posiciones comunes. Por ejemplo:

  • center: Centro del elemento.
  • top, bottom: Bordes superior o inferior.
  • left, right: Bordes izquierdo o derecho.

Compatibilidad con 3D

Si estás trabajando con transformaciones 3D, puedes añadir un tercer valor para el eje Z:

transform-origin: 50% 50% -20px;

Esto desplazará el punto de origen en profundidad para crear efectos más realistas.

Ejemplos de transform origin en CSS

Ahora que conoces la sintaxis y los valores de transform origin en CSS, veamos algunos ejemplos de cómo podrías utilizarlo en situaciones reales.

Rotación desde una esquina

Si quieres que un elemento gire desde su esquina superior izquierda, puedes hacer esto:

.elemento {
transform: rotate(45deg);
transform-origin: left top;
}

Así, el efecto es similar al de una hoja de papel girando desde su esquina.

Escalar desde el borde inferior derecho

¿Quieres que un botón crezca desde una esquina específica cuando lo pasas por encima? Entonces puedes probar esto:

.boton {
transform: scale(1.2);
transform-origin: bottom right;
}

Animación de una aguja de reloj

Aquí, simula el movimiento de una aguja que gira desde su base:

.reloj {
transform: rotate(360deg);
transform-origin: center bottom;
transition: transform 1s ease;
}

Transformaciones 3D

Si quieres conseguir efectos más avanzados, puedes ajustar también el eje Z:

.cubo {
transform: rotateY(45deg);
transform-origin: 50% 50% -20px;
}

¿Por qué aprender a usar transform origin en CSS?

Dominar transform origin en CSS no solo va a mejorar la estética de tus animaciones, sino que también te dará un poder creativo mucho mayor sobre tus diseños. ¿Te imaginas lo que podrías lograr al combinar esta propiedad con otras transformaciones? Esta propiedad es el toque profesional que necesitan tus proyectos para conseguir un resultado más moderno y profesional.

Puedes seguir aprendiendo sobre las diferentes propiedades de CSS y otras herramientas necesarias para crear páginas web en nuestro Bootcamp de Desarrollo Web. Nuestros cursos están diseñados para que aprendas en poco tiempo y de la mano de los profesionales más experimentados las estrategias, herramientas y habilidades que necesitas para empezar a trabajar en el sector IT. 

¡Empieza ahora una nueva carrera en un sector lleno de oportunidades!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado