Skip to content

3D Perspective Marquee

A copy-paste marquees & tickers component in pure HTML & CSS. Zero dependencies, framework-agnostic, MIT-licensed.

Marquees & TickersHTMLCSSany framework
FUTURE · IS · OPEN-SOURCE · FUTURE · IS · OPEN-SOURCE · 

Copy into your project

HTML
<div class="nuda-3dmq">
  <div class="nuda-3dmq__track">
    <span>FUTURE · IS · OPEN-SOURCE ·&nbsp;</span>
    <span>FUTURE · IS · OPEN-SOURCE ·&nbsp;</span>
  </div>
</div>
CSS
.nuda-3dmq {
  perspective: 200px;
  overflow: hidden;
}

.nuda-3dmq__track {
  display: flex;
  width: max-content;
  transform: rotateX(35deg);
  transform-origin: center bottom;
  text-shadow: 0 0 12px rgba(228, 255, 84, 0.4);
  animation: nuda-3dmq 12s linear infinite;
}

@keyframes nuda-3dmq {
  to { transform: rotateX(35deg) translateX(-50%); }
}

How to use 3D Perspective Marquee

Paste the HTML where you need it and the CSS into a global stylesheet (or a <style> tag). Every class is prefixed nuda- so it never collides with Tailwind or your own styles. Tweak the CSS custom properties to match your design system.

Works in React, Vue, Svelte, Astro, Next.js, Nuxt, Laravel Blade, Django, Rails — or a single .html file. No npm install, no build step.

More marquees & tickers components

← Browse all NudaUI components