Char Stagger Rise
A copy-paste text effects component in pure HTML & CSS. Zero dependencies, framework-agnostic, MIT-licensed.
Text EffectsHTMLCSSany framework
Copy into your project
HTML
<!-- Char Stagger Rise — characters rise in sequence
Each char gets a stagger delay via the --i custom property. -->
<span class="nuda-char-rise" aria-label="Rise up">
<span class="nuda-char-rise__char" style="--i:0" aria-hidden="true">R</span>
<span class="nuda-char-rise__char" style="--i:1" aria-hidden="true">i</span>
<span class="nuda-char-rise__char" style="--i:2" aria-hidden="true">s</span>
<span class="nuda-char-rise__char" style="--i:3" aria-hidden="true">e</span>
<span class="nuda-char-rise__char" style="--i:4" aria-hidden="true"> </span>
<span class="nuda-char-rise__char" style="--i:5" aria-hidden="true">u</span>
<span class="nuda-char-rise__char" style="--i:6" aria-hidden="true">p</span>
</span>CSS
/* ── Char Stagger Rise ───────────────────────────────────────
Customize:
--nuda-cr-offset : starting vertical offset
--nuda-cr-speed : per-character duration
--nuda-cr-stagger : delay between characters
──────────────────────────────────────────────────────────── */
.nuda-char-rise {
--nuda-cr-offset: 0.6em;
--nuda-cr-speed: 0.5s;
--nuda-cr-stagger: 0.06s;
display: inline-flex;
font-size: 2rem;
font-weight: 800;
color: #fafafa;
}
.nuda-char-rise__char {
display: inline-block;
white-space: pre;
opacity: 0;
transform: translateY(var(--nuda-cr-offset));
animation: nuda-char-rise var(--nuda-cr-speed)
cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation-delay: calc(var(--i, 0) * var(--nuda-cr-stagger));
}
@keyframes nuda-char-rise {
to {
opacity: 1;
transform: translateY(0);
}
}
/* ── Accessibility ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
.nuda-char-rise__char {
animation: none;
opacity: 1;
transform: none;
}
}How to use Char Stagger Rise
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.