Stacked Type Hero
Oversized, tightly-stacked headline words that reveal in on mount — big type as sculpture.
- Category
- Sections
- Added
- 2026-08-14
- Deps
- 1
- Updated
- 2026-09-01
Props
"use client";
import { motion } from "framer-motion";
const DEFAULT_WORDS = "Type, Lettering, Sections, Components, Patterns";
export function StackedTypeHero({
words = DEFAULT_WORDS,
accentWord = "Sections",
align = "left",
}: {
/** Comma-separated. One stacked line per word. */
words?: string;
/** Whichever line matches gets the accent colour. */
accentWord?: string;
align?: "left" | "center";
}) {
const lines = words
.split(",")
.map((w) => w.trim())
.filter(Boolean);
return (
<div
className={
"flex flex-col gap-1 py-10 " +
(align === "center" ? "items-center text-center" : "items-start text-left")
}
>
{lines.map((word, i) => (
<motion.span
key={word}
initial={{ opacity: 0, y: 24 }}
animate={{ opacity: 1, y: 0 }}
transition={{ delay: i * 0.06, duration: 0.5, ease: [0.16, 1, 0.3, 1] }}
className={
"font-black leading-[0.9] tracking-tight " +
(word === accentWord ? "text-red-500" : "text-white")
}
style={{ fontSize: "clamp(2rem, 8vw, 6rem)" }}
>
{word}
</motion.span>
))}
</div>
);
}
About this section
Most hero sections lean on an image or a gradient behind the headline; this one skips that and lets oversized, tightly-stacked words carry the whole section, each line landing with a staggered fade-and-rise on mount. Pick it over a standard hero when the copy itself is strong enough to be the visual — line height is pulled down to 0.9 and tracking tightened, so it reads as a magazine cover rather than a SaaS banner with a headline bolted on. Font size is set with clamp() so it scales fluidly across viewport widths instead of jumping between breakpoints. The detail worth knowing before customizing the word list: the accent color is applied by exact string match against one designated word, so if two words in the list are identical, both light up, and if the accent word is renamed without updating that match, nothing highlights — the mismatch fails completely silently, with no warning and no fallback color.
Curator’s note
This is the reference pattern viberdy's own homepage hero is built from — same stagger and easing.
Pairs well with
Matched on shared tags and category — the entries most likely to be used alongside this one.
Edge Sliver Poster Hero
heroesA saturated poster hero whose photographic sliver opens on hover, with live ticket tiers and a countdown.
Type Specimen Hero
heroesA magazine-cover hero where the photograph inverts through the letterforms, pinned to its own stacking context.
Duotone Plate Hero
heroesA real two-colour separation via SVG filters — with the sRGB interpolation flag that everyone leaves out.