Proyecto Final de Transitions
Redactado por
Sebastian V. Fecha de publicación
26/04/2024
Tiempo de lectura
10 min
Tema
CSS Transitions
El arte de la coreografía interactiva
¡Felicidades! Has llegado al final del Capítulo 1. Hasta ahora hemos estudiado las propiedades de las transiciones de forma aislada (duraciones, curvas, delays). Pero en un proyecto real, la magia no ocurre por usar una propiedad compleja; ocurre cuando logras que múltiples elementos simples interactúen con el usuario en perfecta sincronía. A esto lo llamamos coreografía interactiva.
1. La Product Card Completa
Nuestra tarjeta de producto utiliza una orquestación avanzada. ¿Recuerdas la lección sobre transition-delay y hover interactions? Aquí aplicamos todo: elevamos el contenedor principal, desvanecemos el precio, deslizamos el botón de compra con un ligero retraso y le aplicamos un rebote físico al botón de favorito. Todo controlado mediante un sistema consistente de variables CSS.
2. El Menú Desplegable Tolerante
Un dropdown moderno no usa display: none. Utiliza la combinación mágica de opacity, visibility y transform: scale para entrar fluidamente desde el centro. Pero el verdadero secreto profesional es la tolerancia: al quitar el cursor, el menú tiene un transition-delay de salida para no cerrarse si el usuario mueve el ratón accidentalmente por fuera durante un milisegundo.
El verdadero secreto: El Motion System
El sello final de calidad en esta interfaz es que las velocidades no están escritas a mano en cada clase. Se definen en el :root. Si el equipo de diseño decide que la app debe sentirse más ágil, cambian --t-base de 0.3s a 0.2s, y todos los modales, botones y tarjetas se actualizan instantáneamente sin romper la coreografía.
Consejo profesional
¡Has dominado el puente entre estados en CSS! Las Transitions son el núcleo de la experiencia de usuario diaria. Las aplicarás en absolutamente todo lo interactivo que construyas.
Proyecto 1 — Tarjeta Coreografiada
Una simulación de app con un sidebar expansible y una tarjeta de producto interactiva. Todo sincronizado mediante variables.
<div class="app-ui">
<!-- Sidebar simplificado -->
<aside class="ui-sidebar">
<div class="ui-logo"></div>
<div class="ui-menu-item active"></div>
<div class="ui-menu-item"></div>
<div class="ui-menu-item"></div>
</aside>
<!-- Tarjeta de Producto -->
<main class="ui-main">
<div class="product-card">
<div class="product-img">
<div class="like-btn">♥</div>
</div>
<div class="product-info">
<h3>Zapatillas Nitro</h3>
<p>$129.99</p>
<button class="buy-btn">Agregar al Carrito</button>
</div>
</div>
</main>
</div> Zapatillas Nitro
$129.99
Haz hover en la barra izquierda para expandirla suavemente. Pasa el cursor por la tarjeta para ver cómo el contenido se reacomoda y revela el botón. Haz hover en el corazón para sentir el rebote físico.
Proyecto 2 — Menú Desplegable Tolerante
Un dropdown clásico usando visibilidad y delay para mejorar la experiencia del usuario (UX) previniendo cierres accidentales.
<div class="nav-item">
Productos
<div class="nav-dropdown">
<div class="drop-item">SaaS Platform</div>
<div class="drop-item">Mobile App</div>
<div class="drop-item">API Integrations</div>
</div>
</div> Haz hover sobre 'Productos'. Cuando muevas el mouse fuera, notarás que no se cierra instantáneamente, dándote margen de error si te saliste por accidente.
Desafío final
Combina ambos proyectos: Añade el menú de navegación en la parte superior de la interfaz de la tarjeta, creando una dashboard completa y orquestada con animaciones consistentes y profesionales.