Volver al curso

Motion Design Básico

lección
3 / 6
beginner
10 horas
Principios de Animación para UI

Micro-interacciones que Enganchan

Lectura
15 min~3 min lectura

Micro-interacciones: Los Pequeños Detalles que Importan

Las micro-interacciones son animaciones pequeñas y específicas que responden a una acción del usuario. El corazón que se llena al dar like, el toggle que desliza suavemente, el input que vibra cuando hay un error — estos detalles son los que hacen que un producto se sienta pulido y profesional.

Anatomía de una micro-interacción

  • Trigger: lo que inicia la animación — hover, clic, scroll, carga, cambio de estado
  • Rules: qué sucede exactamente — qué elementos se mueven, cambian de color, aparecen o desaparecen
  • Feedback: la respuesta visual que confirma la acción — el usuario sabe que algo pasó
  • Loops & modes: ¿se repite? ¿Cambia con el tiempo? — un loading spinner es un loop, un badge de notificación es un mode

Micro-interacciones esenciales en UI

  • Botón hover/active: cambio sutil de color + scale al pasar el mouse, compresión al hacer clic
  • Toggle switch: deslizamiento suave del indicador con cambio de color del track
  • Input focus: el borde del campo cambia de color y opcionalmente el label se mueve arriba (floating label)
  • Validación de formulario: check verde animado para campos válidos, shake sutil para errores
  • Loading states: skeleton screens que pulsan suavemente son más elegantes que spinners
  • Notificaciones/toasts: entran deslizándose desde arriba o abajo, salen con fade después de unos segundos

Implementar micro-interacciones con CSS

  • CSS transitions: para cambios de estado simples (hover, focus, active) — lo más común y eficiente
  • CSS @keyframes: para animaciones más complejas con múltiples pasos (pulsing, shaking, bouncing)
  • transform + opacity: las propiedades más performantes para animar — GPU-accelerated, no causan reflow
  • NUNCA animes width, height, top, left directamente — usa transform: translate/scale en su lugar (mucho más eficiente)
  • will-change: informa al navegador que un elemento va a animarse para que lo optimice (usar con moderación)

Herramientas para prototipar animaciones

  • Figma Smart Animate: prototipa transiciones entre frames — excelente para comunicar la idea al equipo
  • Framer Motion (React): la mejor librería de animación para React — API declarativa y spring animations
  • Lottie: animaciones exportadas de After Effects como JSON — ultra ligeras y escalables
  • GSAP (GreenSock): librería JavaScript para animaciones complejas y timeline-based
  • CSS puro: para el 80% de las micro-interacciones en producción no necesitas ninguna librería

Ejemplo práctico

/* Skeleton loader pulsante */
@keyframes pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.8; }
}
.skeleton {
  background: #E5E7EB;
  border-radius: 8px;
  animation: pulse 1.5s ease-in-out infinite;
}

/* Shake para error de input */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-8px); }
  75% { transform: translateX(8px); }
}
.input-error {
  animation: shake 300ms ease;
  border-color: #EF4444;
}

/* Checkbox animado */
.check-icon {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
  transition: stroke-dashoffset 300ms ease;
}
.checkbox:checked + .check-icon {
  stroke-dashoffset: 0;
}
Consejo: Empieza animando solo botones, inputs y transiciones de página. Estos 3 elementos cubren el 80% de las micro-interacciones necesarias en cualquier producto.