<marquee-wc>

The <marquee> tag reborn for 2026 — accessible, constant-velocity, themeable, and Vanilla Breeze aware.

AAPL ▲ 178.42 (+1.2%) MSFT ▲ 412.18 (+0.4%) GOOG ▼ 138.21 (−0.8%) NVDA ▲ 822.15 (+2.1%) TSLA ▲ 192.30 (+3.4%)

Live Vanilla Breeze theme integration

Open the theme picker in the top-right corner and switch the mode, brand theme, or accent. Every themed <marquee-wc> below — and this entire page — re-themes instantly, because they read the same Vanilla Breeze design tokens (--color-surface, --color-text, --color-accent, --color-error, --font-mono, --font-serif, …). No JavaScript wiring, no configuration.

mode="ticker" — reads --color-surface / --font-mono

Tokens flow downhill. Switch the theme and watch. One component, every palette.

mode="breaking-news" — reads --color-error

The marquee adopts your theme automatically. No --marquee-* overrides required — but they still win if you set them.

mode="code-block" — reads the surface + mono tokens

$ npm install @profpowell/marquee-wc && echo "themed by vanilla-breeze" # try a dark mode in the picker ↗

Prefer a fixed look? Set a --marquee-* override (e.g. --marquee-bg) and it always wins over the Vanilla Breeze token. Pages without Vanilla Breeze fall back to the component's built-in defaults and render identically.

Features

Quick start

<link rel="stylesheet" href="marquee-wc.css" /> <script type="module" src="marquee-wc.js"></script> <marquee-wc speed="60" pause-on-hover> This text scrolls smoothly, forever. </marquee-wc>

Install

npm

npm install @profpowell/marquee-wc

CDN

<link rel="stylesheet" href="https://unpkg.com/@profpowell/marquee-wc/dist/marquee-wc.css" /> <script type="module" src="https://unpkg.com/@profpowell/marquee-wc/dist/marquee-wc.js"></script>

The component renders in the light DOM, so its stylesheet must be present on the page (link the CSS, or import '@profpowell/marquee-wc/style.css' in a bundler).