Centered hero with inset background media and overlapping product image
Centered hero with two independent media slots: a dimmed background image or video inset behind the heading and buttons, and a second foreground image or video pulled up with a large negative top margin so it visually overlaps the bottom of the background zone.
Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.
Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.
Radix flavor
npx shadcn add "https://ui.beste.co/r/hero80?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/hero80?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/hero80.tsx along with the badge and button shadcn/ui primitives it depends on.
The installed file exports hero80Demo alongside the block: the exact props behind the preview above. Spread it to get a working hero in one line.
import { Hero80, hero80Demo } from "@/components/beste/block/hero80";
export default function Page() {
return <Hero80 {...hero80Demo} />;
}Then replace the demo with your own props. Written out, the same setup looks like this:
import { Hero80 } from "@/components/beste/block/hero80";
export default function Page() {
return (
<Hero80
badge={{ label: "New", variant: "secondary" }}
heading="Build stunning websites with easy tools"
description="Turn ideas into beautiful, professional sites with an intuitive no-code platform."
buttons={[
{ label: "Get Started", href: "/signup" },
{ label: "Watch Demo", href: "/demo", variant: "outline" },
]}
backgroundMedia={{ type: "image", src: "https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=1600&h=900&fit=crop" }}
media={{ type: "image", src: "https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=1200&h=800&fit=crop", alt: "Dashboard preview" }}
invertColor
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string; variant?: "default" | "secondary" | "outline" } | – | Small label above the heading |
heading | string | – | Main headline |
description | string | – | Supporting paragraph under the heading |
buttons | { label: string; href: string; variant?: "default" | "outline" }[] | [] | CTA buttons rendered centered below the description |
backgroundMedia | MediaItem | – | Image or video inset behind the top text zone, with a dark or light overlay |
media | MediaItem | – | Second image or video pulled up over the background zone with a negative margin |
invertColor | boolean | true | Switches text and overlay between dark-background and light-background styling |
className | string | – | Extra classes for the outer <section> |
type MediaItem = {
type: "image" | "video";
src: string;
alt?: string;
};backgroundMedia and media are two independent slots: the background sits in an inset rounded panel (inset-x-6 top-6) directly behind the centered text, while media is a second element pulled upward with a responsive negative margin (-mt-24 on mobile up to -mt-48 on lg), so it overlaps the bottom edge of the background panel.invertColor (default true) switches the heading and description to white text with a bg-black/60 overlay on the background media; setting it to false swaps to default foreground colors and a bg-background/80 overlay.type: "video" renders an autoPlay/loop/muted/playsInline <video>, "image" renders an absolutely positioned object-cover <img>.fullscreen in its metadata: it uses generous vertical padding (py-32 up to py-64 on lg) rather than min-h-screen to size the top zone.hero100
Fullscreen hero with centered content and browser window frame mockup over inset background video
hero90
Vertical split hero with video/image on top and content section below
hero82
Left-aligned fullscreen hero with inset background media and directional gradient overlay
hero115
Full-bleed background-image hero with a legibility scrim and bottom-aligned eyebrow, headline, copy and CTAs.
hero97
Fullscreen bottom-aligned hero with vertical stack cards and inset background video with gradient overlay
hero7
Centered hero with optional badge, heading, description, dual action buttons, and a featured image below. Perfect for product launches and landing pages.