Luca Perullo
Components

Component

LiveNew

Warp Background

N beam ruotati 360° attorno al centro, ognuno con un gradient che scorre verso l'esterno. Pure CSS, niente perspective hack.

BackgroundEffect
Open in ClaudeSorgente

Esempio01

warp-background.tsx
001Default · 18 beams
002Hero · launching
section · 001

Pronto a spedire?

003Slow warp · 12 beams

Note Tutto CSS — l'illusione dipende dalla perspective + transform 3D delle facce. Niente WebGL, niente canvas.

Prompt LLM02

Incolla in Claude o ChatGPT per generare la tua variante. Include il contesto del brand, i token e i vincoli del progetto.

Prompt · warp-background
Open in Claude
Sei un senior frontend engineer. Stai lavorando su un sito Next.js 16 + React 19 + Tailwind v4 in italiano, look chanhdai-inspired: colonna stretta 672px, Geist Sans + Geist Mono, hairline 1px, divisori a stripe diagonale, palette zinc.

Token CSS disponibili: --bg, --bg-alt, --fg, --fg-muted, --fg-soft, --border, --border-strong, --accent. Usa SEMPRE queste variabili tramite le utility tailwind generate (bg-bg, text-fg-muted, border-border, ecc.). Helper "cn" da "@/lib/utils". Niente librerie UI extra: solo lucide-react e tailwind-merge.

Genera un componente <WarpBackground> hyperspace style.
Props:
- beamCount?: number (default 18), beamLength?: number (% del raggio, default 70).
- beamSize?: number (px, default 2), beamDuration?: number (sec, default 2.4).
- beamColor?: string (default "var(--fg)"), gridColor?: string (default "var(--border)").
- showGrid?: boolean (default true), className?.

Implementazione:
- Server component. Wrapper absolute inset-0 overflow-hidden.
- Floor grid opzionale: div absolute inset-0 con backgroundImage di linear-gradient gridColor 1px e backgroundSize 40x40, opacity 0.18, mask radiale per fade verso i bordi.
- Hub al centro: div absolute left-1/2 top-1/2 h-0 w-0.
- Per ogni i in 0..beamCount-1: span absolute origin-top con rotate(360/beamCount * i deg), w {beamSize}px h {beamLength}%. Inner span con linear-gradient(to top, transparent 0%, beamColor 50%, transparent 100%), animation warp-beam-travel duration linear infinite, delay scalato.
- @keyframes warp-beam-travel: 0% translateY(0) opacity 0, 25% opacity 0.9, 100% translateY(-110%) opacity 0.

Output: file completo src/components/warp-background.tsx.

Uso tipico03

tsx
<WarpBackground beamCount={18} beamDuration={2.4} />

Dipendenze04

npm
  • tailwind-merge
  • clsx
Interno
  • @/lib/utils#cn

Ti è servito? Dimmelo, oppure proponi il prossimo componente.