Sharingan

Section · scroll

Image marquee

A coloured band of oversized words with images set between them, its rows pushed sideways by the scroll.

  • Inspired by people
  • New art every week
  • Prints and originals
  • Made by hand

Image marquee

A coloured band of oversized words with images set between them, its rows pushed sideways by the scroll.

Use when: A loud break between calmer sections: a slogan, a list of disciplines, the names of what you sell.

DOM and GSAP (ScrollTrigger, Flip), every browser · not pinned

npx shadcn@latest add @sharingan/image-marquee

First time? Add the @sharingan registry to your project: getting started. The CLI also installs gsap, used under GSAP’s own no-charge licence.

Add ?motion=final or ?motion=off to the address for the version without scroll motion; phones below 768 px get it too, with short reveals.

Props

content what the section says, real text in the DOM

Image marquee content
NameTypeDefaultDescription
labelstring (2–60 chars)—What the band is, for screen readers (it is a list).
phrases *string[] (2–8)—Short phrases, 1–4 words each, shown in order.
images *object[] (1–8)—Images set after each phrase, in turn.
src *string (≥ 1 chars)—
alt *string (≤ 120 chars)—Empty when the image only decorates.

config how it moves; attributes on the Web Component

Image marquee config
NameTypeDefaultDescription
backgroundstring (≥ 1 chars)"oklch(0.93 0.19 122)"The band's colour.
inkstring (≥ 1 chars)"#111114"The words' colour; keep 4.5:1 contrast with the band.
rowsinteger (1–2)2One row, or two moving in opposite directions.
distancenumber (5–60)25How far the rows travel while the band crosses the screen, in % of its width.

The same section as a Web Component

Section · scroll

<sg-image-marquee>

The same engine as a Web Component, driven by attributes, on the page’s own HTML.

  • sg-image-marquee
  • One row, further

Sharingan is made by Dilane Kombou.

Open source under the MIT licence.