Marquee Hero
A copy-paste hero sections component in pure HTML & CSS. Zero dependencies, framework-agnostic, MIT-licensed.
Hero SectionsHTMLCSSany framework
Always shipping.
SHIP · ITERATE · REPEAT ·
Copy into your project
HTML
<!-- Marquee Hero — headline above an infinite scrolling strip.
Duplicate the span (aria-hidden) for a seamless loop. -->
<section class="nuda-marqh">
<div class="nuda-marqh__content">
<h2>Always shipping.</h2>
</div>
<div class="nuda-marqh__strip">
<div class="nuda-marqh__track">
<span>SHIP · ITERATE · REPEAT · </span>
<span aria-hidden="true">SHIP · ITERATE · REPEAT · </span>
</div>
</div>
</section>CSS
/* Marquee Hero
Headline with an infinite scrolling brand strip pinned to the bottom.
The track is duplicated and slid -50% for a seamless loop.
Customize: --marqh-accent, scroll duration. */
.nuda-marqh {
--marqh-accent: #e4ff54;
position: relative;
width: 100%;
height: 420px;
border-radius: 18px;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 24px;
background: #09090b;
}
.nuda-marqh__content h2 {
font: 800 clamp(2rem, 5vw, 3.5rem) ui-sans-serif, system-ui, sans-serif;
color: #fafafa;
margin: 0;
letter-spacing: -0.02em;
}
.nuda-marqh__strip {
position: absolute;
bottom: 0;
left: 0;
right: 0;
overflow: hidden;
background: var(--marqh-accent);
padding: 10px 0;
}
.nuda-marqh__track {
display: flex;
width: max-content;
animation: nuda-marqh-roll 14s linear infinite;
will-change: transform;
}
.nuda-marqh__track span {
font: 800 0.95rem ui-sans-serif, system-ui, sans-serif;
color: #09090b;
letter-spacing: 0.08em;
white-space: nowrap;
}
@keyframes nuda-marqh-roll {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
.nuda-marqh__track { animation: none; }
}How to use Marquee Hero
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.