Arc Marquee
textProEt løbende tekstbånd, der flyder langs en justerbar kurve, fra svag bue til dyb bugt, og som man kan trække i og kaste. Den løber sømløst rundt med kantudtoning og styring af retning og fart.
Pro kan ikke købes endnu. Siden åbner, når betalingen er klar.
Preview
Live demo. Temaet skifter selve demoen.
Kode
Koden er låst
Arc Marquee er en del af Manniche UI Pro. En nøgle åbner kildekoden til alle 60 effekter.
Åbner snart49 € · Introduktionspris til og med 31. december 2026. Derefter 79 €.
- Engangsbetaling
- Én udvikler
- Nøglen kommer på mail med det samme
- Ingen moms (§ 19 UStG)
Har du en nøgle? Hent koden med CLI eller MCP.
Nøglen ligger i MANNICHE_PRO_KEY, aldrig i koden eller i adressen. Sådan sætter du den op
npx shadcn@latest add @manniche-pro/arc-marqueeclaude mcp add --transport http manniche-ui https://mikkelmanniche.dk/api/mcp --header "Authorization: Bearer $MANNICHE_PRO_KEY"Props
ArcMarqueeProps
| Prop | Type | Standard | Hvad den gør |
|---|---|---|---|
text påkrævet | string | – | The text that flows along the curve. It is repeated as often as needed to fill the path, so a short phrase is fine. |
curve | number | 40 | How much the path bows, from -100 to 100. 0 is a straight line, positive values arch upwards (ends sag), negative values dip like a smile. 100 bows by half of the component height. |
height | number | 260 | Height of the component in pixels. The path sits in the middle, so a deeper curve needs more height. |
speed | number | 70 | Flow speed in pixels per second along the path. |
direction | 'left' | 'right' | 'left' | Which way the text travels. |
fade | number | 96 | Width of the soft fade at both edges, in pixels. 0 shows hard edges. |
gap | number | 48 | Space between two repeats of the text, in pixels. |
separator | string | – | Optional glyph shown between repeats, for example ✦. Rendered with separatorClassName. |
separatorClassName | string | – | Classes for the separator glyph, for example a colour or opacity. |
draggable | boolean | true | Lets visitors grab the text and throw it. Momentum then eases back to the set speed. |
settle | number | 900 | How fast, in milliseconds, a thrown marquee settles back to its set speed after release. Larger values keep the momentum longer. |
grip | number | 1 | How strongly a drag is followed. 1 moves exactly with the pointer. |
paused | boolean | false | Stops the flow (dragging still works). The visitor's own Pause button, if shown, stops it as well. |
pauseButton | boolean | true | Shows a 44 pixel Pause and Play button in the bottom right corner (WCAG 2.2.2). It is hidden under reduced motion, when nothing flows. |
labels | { pause: string; play: string } | { pause: 'Pause', play: 'Play' } | Accessible names of the Pause and Play button. Translate these when the page is not in English. |
className | string | – | Classes for the root. Set size, margin and so on here. |
textClassName | string | – | Classes for the text: font, size, weight, tracking and colour (text-* sets the fill). |
A11y
Tastatur
A visible 44 pixel Pause and Play button sits after the text in tab order and stops and starts the flow. Unless draggable is false, the marquee itself takes one tab stop with a visible ring; the flow holds while it has focus, and the arrow keys nudge it.
Skærmlæser
The marquee is a group labelled with text, so the phrase is exposed once; the repeated SVG text is aria-hidden. The button is named by labels (pause and play), which need translating on non-English pages.
Mindre bevægelse
The flow holds while a mouse is over it, while the group has focus, while the Pause button has been pressed and while paused is true. It also stops off screen and in hidden tabs. Under reduced motion one still frame is drawn, the Pause button is hidden, and dragging or the arrow keys still move the text. Set pauseButton to false only if you provide your own control through paused.
Andet
A drag moves the text sideways only, vertical swipes still scroll the page, and a thrown marquee eases back to its own speed.