↓ hacé scroll
Cada card entra desde un lado distinto usando animation-timeline: view().
Cero JavaScript, solo CSS nativo del navegador.
Controlás exactamente cuándo y cómo aparece cada elemento.
La animación está sincronizada con el scroll, no hay saltos.
El patrón más clásico de los sitios modernos. Cada elemento tiene su propia clase y su propia animación.
Solo cambiás qué clase le ponés a cada elemento. La misma técnica, infinitas combinaciones.
SIN JAVASCRIPT
ELEMENTOS
DE BUNDLE
/* view() = se activa cuando el elemento entra en el viewport (no el scroll global) */ .from-left { animation: slide-left linear both; animation-timeline: view(); animation-range: entry 0% entry 35%; /* ↑ mientras entra al viewport */ } @keyframes slide-left { from { transform: translateX(-80px); opacity: 0; } to { transform: translateX(0); opacity: 1; } } /* desde la derecha: solo cambiás el signo */ .from-right { animation-range: entry 0% entry 35%; } @keyframes slide-right { from { transform: translateX(+80px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }