wandres.dev
Del transition al ScrollTrigger

Domina Animación Web
hasta nivel dios

El movimiento en la web: el pipeline del navegador, transitions y keyframes, WAAPI, scroll-driven, view transitions y GSAP a fondo.

La ruta

43 niveles, de novato a dios

Cada nivel construye sobre el anterior. Sin saltos, sin huecos.

Ontología Nivel 0 · El mapa de la animación web

Las cuatro familias (CSS, WAAPI, scroll, librerías), qué resuelve cada una, y el mapa completo del territorio.

Mapa mentalFamiliasOntología

Principios del movimiento Nivel 1 · De la animación clásica a la UI

Anticipación, follow-through, easing, peso. Qué se traduce a interfaces y qué no, y por qué el movimiento comunica.

PrincipiosPesoIntención

El pipeline del navegador Nivel 2 · Style, layout, paint, composite

Las etapas del frame, qué dispara cada una, y por qué animar width cuesta cien veces más que animar transform.

PipelineReflowComposite

El hilo del compositor Nivel 3 · Qué se anima fuera del hilo principal

transform, opacity, filter y las animaciones que sobreviven a un hilo principal bloqueado. Cómo verificarlo.

CompositorOff-mainCapas

Transitions Nivel 4 · La animación de estado

Las cuatro propiedades, qué es interpolable, la lista transition-property, y los errores clásicos de timing.

transitionInterpolableEstado

Easing Nivel 5 · cubic-bezier, steps y linear()

Leer una curva de Bézier, construir las tuyas, steps para sprites, y linear para aproximar muelles en CSS puro.

cubic-bezierlinear()steps

Animar la entrada Nivel 6 · @starting-style y transition-behavior

Animar un elemento que acaba de aparecer, allow-discrete para display y overlay, y el patrón de entrada y salida completo.

@starting-styleallow-discreteEntrada

Animar a auto Nivel 7 · interpolate-size y calc-size

El problema de height auto resuelto por fin, interpolate-size con allow-keywords, y las alternativas sin soporte.

interpolate-sizeautoAcordeón

Keyframes Nivel 8 · @keyframes a fondo

Porcentajes múltiples, easing por keyframe, la resolución de propiedades ausentes, y keyframes con variables.

@keyframesPorcentajesVariables

Controlar animaciones CSS Nivel 9 · Las ocho propiedades

duration, delay negativo, iteration, direction, fill-mode y play-state como sistema coherente.

fill-modedelayplay-state

WAAPI I Nivel 10 · El método animate

La misma potencia desde JS: keyframes como objetos, las dos sintaxis, y por qué devuelve una promesa útil.

animate()KeyframesJS

WAAPI II Nivel 11 · El objeto Animation

play, pause, reverse, currentTime, playbackRate, finished y cancel. Control que CSS no puede dar.

AnimationplaybackRatefinished

WAAPI III Nivel 12 · Composición y efectos

composite con add y accumulate, KeyframeEffect reutilizable, getAnimations y pausar todo el documento.

compositeKeyframeEffectgetAnimations

El bucle de render Nivel 13 · requestAnimationFrame y el tiempo

Cuándo sigues necesitando rAF, el delta time correcto, el problema del framerate variable, y cancelar bien.

rAFDeltaFramerate

Scroll-driven I Nivel 14 · El modelo de timelines

Separar la animación del tiempo: qué es una timeline, y por qué esto elimina el 90% del JS de scroll.

TimelineModeloSin JS

Scroll-driven II Nivel 15 · scroll() y animation-timeline

La progress timeline del scroll, elegir el scroller y el eje, y la barra de progreso en tres líneas.

scroll()animation-timelineProgreso

Scroll-driven III Nivel 16 · view() y los rangos

La view timeline de un elemento al cruzar el viewport, animation-range, los nombres de rango y view-timeline-inset.

view()animation-rangeReveal

Scroll-driven IV Nivel 17 · El fallback y Firefox

Firefox no lo ha implementado en 2026: detectar con @supports, el polyfill, y la estrategia de mejora progresiva.

Firefox@supportsPolyfill

View Transitions I Nivel 18 · Mismo documento

El método startViewTransition, el árbol de pseudo-elementos, y qué hace el navegador con las capturas.

startViewTransitionPseudosCaptura

View Transitions II Nivel 19 · Nombres, grupos y personalización

view-transition-name, los elementos que hacen morphing, los tipos de transición y animar cada parte.

transition-nameTiposMorph

View Transitions III Nivel 20 · Entre documentos

La regla view-transition en MPA, los eventos pageswap y pagereveal, y la navegación con transición sin SPA.

MPApageswappagereveal

Animar SVG Nivel 21 · CSS, SMIL y el DOM

Las tres vías, animar el trazo con stroke-dasharray, transformaciones en SVG y sus sistemas de coordenadas.

SVGdasharrayCoordenadas

Rutas y recorridos Nivel 22 · offset-path y motion path

Mover elementos por un trazado, offset-distance, offset-rotate y las formas de ruta modernas.

offset-pathray()Recorrido

Física del movimiento Nivel 23 · Muelles, inercia y amortiguación

La ecuación del muelle amortiguado, rigidez y masa como parámetros de diseño, y por qué se sienten reales.

SpringInerciaDamping

GSAP I Nivel 24 · Por qué existe y por qué es gratis

Qué resuelve que las APIs nativas no, la licencia desde abril de 2025 con Webflow, y el mapa de plugins.

GSAPLicenciaWebflow

GSAP II Nivel 25 · Los tweens: to, from, fromTo, set

El modelo de tween, el objeto vars, el targeting, y las propiedades especiales de GSAP.

gsap.tovarsTween

GSAP III Nivel 26 · Timelines

Secuenciar sin sumar delays: la posición relativa, las etiquetas, timelines anidadas y el control global.

TimelinePosiciónLabels

GSAP IV Nivel 27 · Eases y el visualizador

El sistema completo de eases, CustomEase, los eases de rebote y elásticos, y cuándo cada uno.

EaseCustomEaseelastic

GSAP V Nivel 28 · Stagger y utilidades

El stagger avanzado con grid y from, y las utilidades: mapRange, snap, random, wrap, interpolate.

staggerutilsmapRange

GSAP VI Nivel 29 · ScrollTrigger: el modelo

trigger, start y end, los marcadores, toggleActions, y el modelo mental que hace que todo encaje.

ScrollTriggerstart/endmarkers

GSAP VII Nivel 30 · ScrollTrigger: pin y scrub

Fijar secciones, el scrub con suavizado, snap, las secciones horizontales y el refresh en resize.

pinscrubsnap

GSAP VIII Nivel 31 · SplitText

Dividir en caracteres, palabras y líneas, el reflow responsive, el masking de líneas y revertir bien.

SplitTextLíneasrevert

GSAP IX Nivel 32 · Flip

El patrón FLIP resuelto: getState, from, animar entre layouts imposibles y el reordenado de listas.

FlipgetStateLayout

GSAP X Nivel 33 · Plugins de SVG

MorphSVG entre formas arbitrarias, DrawSVG para dibujar trazos, y MotionPath con alineación.

MorphSVGDrawSVGMotionPath

GSAP XI Nivel 34 · Interacción

Observer para gestos unificados, Draggable con inercia, ScrollSmoother y ScrollTo.

ObserverDraggableSmoother

GSAP XII Nivel 35 · Integración y limpieza

El contexto y matchMedia, la limpieza en componentes, useGSAP, y el patrón con Solid y con Astro.

contextmatchMediaCleanup

Motion y las alternativas Nivel 36 · El resto del ecosistema

Motion (antes Framer Motion), Anime.js, Popmotion y auto-animate: qué elige cada quién y por qué.

MotionAnime.jsComparativa

Lottie y After Effects Nivel 37 · La animación del diseñador

El formato, el pipeline desde After Effects, dotLottie, el coste real en runtime y las alternativas.

LottiedotLottiePipeline

Accesibilidad Nivel 38 · prefers-reduced-motion en serio

Qué significa reducir el movimiento (no eliminarlo), el trastorno vestibular, y el patrón de dos versiones.

reduced-motionVestibularA11y

Rendimiento Nivel 39 · Medir el jank de verdad

El panel de rendimiento, las capas del compositor, los long tasks, y diagnosticar por qué cae a 30fps.

JankCapasLong task

Depurar animaciones Nivel 40 · El panel de animaciones

Inspeccionar, ralentizar y editar animaciones en vivo, y el flujo de trabajo para ajustar timing.

DevToolsTimingEn vivo

Coreografía Nivel 41 · Sistemas de movimiento

Tokens de duración y easing, la jerarquía del movimiento, y documentar el movimiento en un design system.

SistemaTokensJerarquía

Nivel Dios Nivel 42 · Síntesis de la animación web

El árbol de decisión completo, el catálogo de patrones resueltos, y hacia dónde va la animación en la web.

SíntesisDecisiónPatrones
215lecciones
43niveles
0→∞de cero a dios

¿Listo para dominar Animación Web?

Empieza por los fundamentos y sube nivel a nivel hasta el dominio total.

Comenzar el camino →