Instalación
npx logic2b@next add parallaxUso
Asigna una altura al contenedor y coloca dentro una imagen sobredimensionada con
object-cover, o un gradiente. La capa interior se desplaza mientras la sección
atraviesa el viewport:
import { Parallax } from "@/components/ui/parallax"
<Parallax range="16%" className="h-72 rounded-xl">
<img
src="/hero.jpg"
alt=""
className="size-full object-cover"
/>
</Parallax>
Cómo funciona
El desplazamiento se basa por completo en animaciones CSS vinculadas al
scroll mediante animation-timeline: view(). No hay JavaScript en la ruta de
desplazamiento ni nada que limitar. La capa es intencionadamente más alta que el
contenedor —range a cada lado— para que el movimiento no descubra un borde, y
el contenedor la recorta con overflow-hidden.
Mejora progresiva
La animación vive dentro de @supports (animation-timeline: view()). Los
navegadores sin soporte muestran la capa estática: el contenido siempre es
visible y el movimiento es una mejora. También respeta prefers-reduced-motion
y mantiene la capa inmóvil para quienes solicitan menos movimiento.
Playground interactivo
Edita las propiedades del componente y revisa el JSX exacto antes de copiarlo. La vista previa se carga solo cuando esta sección entra en pantalla.
<Parallax
range="12%"
className="h-48 w-full max-w-lg rounded-xl border"
>
<div
className="flex h-full min-h-64 items-center justify-center bg-gradient-to-br from-primary/20 via-muted to-primary/5 text-sm font-medium"
>Scroll-linked layer</div>
</Parallax>Referencia de API
Generada a partir de las exportaciones públicas de TypeScript en src/ui/parallax.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.
ParallaxProps
Tipointerface ParallaxProps extends React.ComponentProps<"div"> { /** How far the layer drifts, any CSS length/percentage. Default `"12%"`. */ range?: string }Parallax
ComponenteProps: ParallaxProps| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
range | string | No | "12%" | How far the layer drifts, any CSS length/percentage. Default `"12%"`. |
Contrato de accesibilidad
Comportamiento legible por máquinas y responsabilidades de quien integra parallax. Los detalles normativos conservan el texto canónico del registro.
- Soporte
- Contrato de composición
- Patrón
- decorative parallax
- Motion scroll transforms
Semántica incorporada
- Preserves the semantics of the rendered layer; decorative layers can be hidden from assistive technology.
Responsabilidades de integración
- Use empty alt/aria-hidden for decorative imagery, retain a static layout and disable the transform for reduced-motion users.
Limitaciones conocidas
- • Parallax movement can cause vestibular discomfort unless reduced-motion preferences are honored.