General 2020s Modern Scroll-Driven

Locomotive Infinite Scroll

Estilo Locomotive Infinite Scroll com smooth scrolling, parallax multicamada e animações scroll-driven. Baseado em Locomotive Scroll v5 e Lenis. Ideal para storytelling imersivo e landing pages premium.

smooth scroll parallax infinite scroll locomotive scroll lenis scroll-driven animations viewport detection kinetic motion scroll progress CSS variables data attributes lerp interpolation scroll speed scroll hijacking immersive storytelling

Uso: Landing pages imersivas, Storytelling digital, Portfolios criativos, Sites de agências, Apresentações de produto premium, One-page narrativas

Locomotive Infinite Scroll

Contexto Histórico

Locomotive Scroll nasceu no estúdio canadense Locomotive.ca como solução para scroll suave e detecção de viewport. A v5 (2024) é uma reescrita completa baseada em Lenis, com apenas 9.4kB gzipped, dual IntersectionObserver, parallax via data-attributes e progress tracking via CSS variables. Representa a evolução do scroll-hijacking para scroll-enhancement acessível.

Especificações Técnicas

Cores

Primárias

#1A1A2E
#16213E
#FFFFFF

Secundárias

#6C63FF
#A29BFE
#FF6B6B
#00D2FF
#F0F0F5

Efeitos

Smooth scroll via Lenis (lerp: 0.1, duration: 1.2), parallax layers com data-scroll-speed (0.1 a 0.8), scroll progress como CSS variable (--progress 0-1), viewport detection com IntersectionObserver, fade-in/slide-up on scroll (translate3d + opacity), staggered reveal (delay incremental 100ms), horizontal scroll sections, scroll-triggered counters, kinetic typography com velocidades diferentes, sticky sections com scroll progress, easing customizado (exponential ease-out)

Light/Dark

✓ Full / ✓ Full

CSS

scroll-behavior: smooth; --progress: 0; transform: translate3d(0, var(--y), 0); will-change: transform, opacity; transition: opacity 0.6s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); position: sticky; top: 0; overflow: hidden; backdrop-filter: blur(10px); font-family: 'Inter', sans-serif; background: #1A1A2E; color: #FFFFFF; [data-scroll] { opacity: 0; transform: translateY(60px); } [data-scroll].is-inview { opacity: 1; transform: translateY(0); }

Variáveis

--color-bg: #1A1A2E; --color-bg-alt: #16213E; --color-text: #FFFFFF; --color-text-muted: #A0A0B0; --color-accent: #6C63FF; --color-accent-soft: #A29BFE; --color-coral: #FF6B6B; --color-cyan: #00D2FF; --color-surface: rgba(255,255,255,0.05); --font-body: 'Inter', sans-serif; --font-display: 'Space Grotesk', sans-serif; --lerp: 0.1; --duration: 1.2; --scroll-speed-slow: 0.2; --scroll-speed-medium: 0.5; --scroll-speed-fast: 0.8; --reveal-distance: 60px; --reveal-duration: 0.8s; --reveal-easing: cubic-bezier(0.16, 1, 0.3, 1); --stagger-delay: 100ms; --border-radius: 16px; --glass-bg: rgba(255,255,255,0.05); --glass-border: 1px solid rgba(255,255,255,0.1); --glass-blur: blur(10px);

Checklist

☐ Locomotive Scroll v5 CDN incluído (JS + CSS), ☐ new LocomotiveScroll() inicializado, ☐ data-scroll em todos os elementos animados, ☐ data-scroll-speed com valores variados (0.1-0.8), ☐ data-scroll-css-progress para barra de progresso, ☐ Parallax layers no hero (mínimo 3 camadas), ☐ Reveal animations (fade-in + slide-up) com is-inview, ☐ Staggered reveals com delay incremental, ☐ Seção horizontal scroll, ☐ Sticky section com scroll progress, ☐ Kinetic typography com velocidades diferentes, ☐ GPU-accelerated transforms (translate3d), ☐ Dark palette #1A1A2E verificada, ☐ Contraste WCAG AA 4.5:1, ☐ Responsivo mobile (parallax desabilitado em touch)

DESIGN.md

Design System: Locomotive Infinite Scroll

1. Visual Theme & Atmosphere

Estilo Locomotive Infinite Scroll com smooth scrolling, parallax multicamada e animações scroll-driven. Baseado em Locomotive Scroll v5 e Lenis. Ideal para storytelling imersivo e landing pages premium. Locomotive Scroll nasceu no estúdio canadense Locomotive.ca como solução para scroll suave e detecção de viewport. A v5 (2024) é uma reescrita completa baseada em Lenis, com apenas 9.4kB gzipped, dual IntersectionObserver, parallax via data-attributes e progress tracking via CSS variables. Representa a evolução do scroll-hijacking para scroll-enhancement acessível.

  • Density: 5/10 — Balanced
  • Variance: 4/10 — Moderate
  • Motion: 8/10 — Cinematic

2. Color Palette & Roles

  • Deep Charcoal (#1A1A2E) — Dark surface, primary background
  • Midnight Blue (#16213E) — Dark surface, primary background
  • Pure White (#FFFFFF) — Light surface, card backgrounds
  • Electric Indigo (#6C63FF) — Accent color, emphasis elements
  • Soft Lavender (#A29BFE) — Extended palette, decorative use
  • Warm Coral (#FF6B6B) — Extended palette, decorative use
  • Mint Glow (#00D2FF) — Extended palette, decorative use
  • Pale Smoke (#F0F0F5) — Extended palette, decorative use

3. Typography Rules

  • Display / Hero: Inter — Weight 700, tight tracking, used for headline impact
  • Accent: Space Grotesk — Used for decorative or emphasis text
  • Body: Inter — Weight 400, 16px/1.6 line-height, max 72ch per line
  • UI Labels / Captions: Inter — 0.875rem, weight 500, slight letter-spacing
  • Monospace: JetBrains Mono — Used for code, metadata, and technical values

Scale:

  • Hero: clamp(2.5rem, 5vw, 4rem)
  • H1: 2.25rem
  • H2: 1.5rem
  • Body: 1rem / 1.6
  • Small: 0.875rem

4. Component Stylings

  • Primary Button: Rounded (16px) shape. Accent color fill. Hover: 8% darken + subtle lift shadow. Active: -1px translate tactile press. Font weight 600. No outer glows.
  • Secondary / Ghost Button: Outline variant. 1.5px border in muted color. Text in primary color. Hover: subtle background fill.
  • Cards: Rounded (16px) corners. Surface background. Subtle shadow (0 2px 12px rgba(0,0,0,0.06)). 1px border stroke.
  • Inputs: Label above input. 1px border stroke. Focus ring: 2px accent color offset 2px. Error text below in semantic red. No floating labels.
  • Navigation: Primary surface background. Active item: accent color indicator. Font weight 500 when active.
  • Skeletons: Shimmer animation matching component dimensions. No circular spinners.
  • Empty States: Icon-based composition with descriptive text and action button.

5. Layout Principles

  • Grid: CSS Grid primary. Max-width containment: 1280px centered with 1.5rem side padding.
  • Spacing rhythm: Balanced. Base unit: 0.5rem (8px).
  • Section vertical gaps: clamp(4rem, 8vw, 8rem).
  • Hero layout: Split-screen (text left, visual right).
  • Feature sections: Zig-zag alternating text+image rows. No 3-equal-columns.
  • Mobile collapse: All multi-column layouts collapse below 768px. No horizontal overflow.
  • z-index contract: base (0) / sticky-nav (100) / overlay (200) / modal (300) / toast (500).

6. Motion & Interaction

  • Physics: Spring — stiffness 120, damping 20. Confident, weighted transitions.
  • Entry animations: Fade + translate-Y (16px → 0) over 540ms ease-out. Staggered cascades for lists: 120ms between items.
  • Hover states: Scale(1.03) + shadow lift over 200ms.
  • Page transitions: Fade + slide (300ms).
  • Performance: Only transform and opacity animated. No layout-triggering properties.

7. Anti-Patterns (Banned)

  • No emojis in UI — use icon system only (Lucide, Heroicons)
  • No pure black (#000000) — use off-black or charcoal variants
  • No oversaturated accent colors (saturation cap: 80%)
  • No 3-column equal-width feature layouts — use zig-zag or asymmetric grid
  • No h-screen — use min-h-[100dvh]
  • No AI copywriting clichés: "Elevate", "Seamless", "Unleash", "Next-Gen"
  • No broken external image links — use picsum.photos or inline SVG
  • No generic lorem ipsum in demos

Prompt para AI

Design an immersive infinite scroll landing page inspired by Locomotive Scroll v5 and Lenis. Use smooth scrolling with lerp interpolation (0.1), parallax layers at different speeds (data-scroll-speed), scroll progress CSS variables (--progress 0 to 1), viewport detection with IntersectionObserver for reveal animations. Include: sticky hero with scroll-driven parallax, sections that fade-in and slide-up on scroll entry, horizontal scroll section for features, kinetic typography with different scroll speeds, staggered card reveals, scroll-triggered number counters, progress bar tied to page scroll. Dark immersive palette with electric indigo accents. Use translate3d for GPU-accelerated transforms. Include Locomotive Scroll CDN (https://cdn.jsdelivr.net/npm/locomotive-scroll/bundled/locomotive-scroll.min.js and locomotive-scroll.css). Initialize with new LocomotiveScroll() and use data-scroll, data-scroll-speed, data-scroll-css-progress, data-scroll-repeat, data-scroll-offset, data-scroll-position attributes.

Relacionados

Última sincronização: 01/04/2026