Contenido del curso
Conceptos iniciales
Transformaciones en 2D y 3D
- 5

Transformaciones 2D y 3D en CSS: Uso de la Propiedad Transform
09:59 min - 6

Transformaciones CSS: Scale, Skew y Rotate en Elementos HTML
09:43 min - 7

Propiedad Transform Origin en CSS: Modificación del Eje de Rotación
02:32 min - 8

Transformaciones 3D en CSS: Propiedades y Ejemplos Prácticos
Viendo ahora - 9

Propiedad CSS Backface Visibility: Uso y Ejemplos Prácticos
06:04 min
Parallax con transformaciones
Transiciones
Tips de UX
Rendimiento y accesibilidad
Libros recomendados y próximos pasos
Transformaciones 3D en CSS: Propiedades y Ejemplos Prácticos
Resumen
Dar profundidad a los elementos de una página web es posible gracias a las transformaciones 3D en CSS. Estas propiedades permiten que un elemento deje de ser plano y adquiera sensación de volumen, distancia y punto de vista, tal como ocurre cuando observamos un escenario desde distintos ángulos. A continuación se desglosan las tres propiedades fundamentales y cómo aplicarlas en código real.
¿Qué propiedades controlan las transformaciones 3D en CSS?
Antes de escribir una sola línea de código, conviene comprender las tres propiedades que hacen posible el efecto tridimensional.
¿Cómo funciona transform-style?
La propiedad transform-style [0:17] indica al navegador si los elementos hijos deben renderizarse en un plano bidimensional o en un espacio tridimensional. Acepta dos valores:
- flat: el elemento permanece en 2D, sin sombra ni profundidad.
- preserve-3d: activa el contexto tridimensional para que los hijos respeten la perspectiva del contenedor.
Sin esta declaración, cualquier rotación o traslación seguirá viéndose como un simple giro en pantalla plana.
¿Qué hace la propiedad perspective?
La propiedad perspective [1:02] define la distancia entre el observador y el plano Z. Cuanto menor sea el valor, más exagerado será el efecto de profundidad; cuanto mayor sea, más sutil. En la práctica, es lo que genera la sensación de que ciertos elementos están más lejos o más cerca del usuario.
¿Para qué sirve perspective-origin?
perspective-origin [1:30] modifica el punto desde el cual se observa la escena. Por defecto, la vista se centra en el elemento, pero al cambiar sus valores se puede simular que el usuario mira desde la izquierda, la derecha, arriba o abajo, alterando completamente la percepción del espacio.
¿Cómo aplicar estas propiedades en código?
El ejemplo práctico parte de una estructura HTML sencilla: un div contenedor con clase container y un div hijo con clase item [2:07].
html
<div class="container"> <div class="item"></div> </div>En CSS se establece la relación position relative en el padre y position absolute en el hijo [2:33], un patrón habitual para que el elemento absoluto se adhiera al contenedor.
css .container { position: relative; width: 100px; height: 100px; border: 5px solid hotpink; perspective: 100px; transform-style: preserve-3d; }
.item { position: absolute; width: 100px; height: 100px; background: papayawhip; opacity: 0.5; border: 3px solid teal; transform: rotateY(20deg); }
¿Qué ocurre al agregar perspective al contenedor?
Al declarar perspective: 100px [3:31] en .container, se crea un espacio de profundidad de cien píxeles. A simple vista nada cambia, pero internamente el navegador ya calcula distancias en el eje Z para cualquier hijo que se transforme.
¿Cómo se visualiza la rotación en 3D?
Cuando al hijo se le aplica transform: rotateY(20deg) [4:44], el plano se inclina de manera evidente gracias al contexto 3D heredado del padre. Al modificar el ángulo —por ejemplo a 90 grados— el elemento desaparece visualmente porque queda perpendicular a la pantalla, confirmando que la rotación ocurre en un eje real de profundidad.
¿Qué elementos tener en cuenta al trabajar en 3D?
- Siempre declara perspective en el contenedor padre, no en el hijo.
- Usa transform-style: preserve-3d para que los descendientes participen del espacio tridimensional.
- Ajusta perspective-origin cuando necesites cambiar el punto de vista del observador.
- Experimenta con distintos valores de ángulo en
rotateX,rotateYorotateZpara comprender cómo se comporta cada eje. - Añade
opacitya los elementos hijos para visualizar mejor la superposición de planos.
Estas tres propiedades abren la puerta a animaciones y composiciones visuales mucho más expresivas. Existe además otra propiedad llamada backface-visibility [5:38] que controla si la cara trasera de un elemento rotado es visible o no, lo cual complementa todo lo visto aquí. ¿Ya experimentaste con estos valores? Comparte tus resultados y dudas en los comentarios.