Fullscreen Hero with Marquee Ticker

Cinematic fullscreen hero with scrolling marquee keyword band over inset background video

PRO

Hero99: Fullscreen Hero with Marquee Ticker

Fullscreen hero whose background video sits in an inset, rounded panel rather than running edge to edge, with a horizontally scrolling band of oversized ghost-text keywords layered near the bottom of that panel. Content (badge, heading, description, buttons) is centered above the marquee.

Upgrade to Pro

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.

Installation

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

bash
npx shadcn add "https://ui.beste.co/r/hero99?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/hero99?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/hero99.tsx and its dependencies: the badge and button shadcn/ui primitives.

Quick start

The installed file exports hero99Demo alongside the block: the exact props behind the preview above. Spread it to get a working hero in one line.

tsx
import { Hero99, hero99Demo } from "@/components/beste/block/hero99";

export default function Page() {
  return <Hero99 {...hero99Demo} />;
}

Then replace the demo with your own props. Written out, the same setup looks like this:

tsx
import { Hero99 } from "@/components/beste/block/hero99";

export default function Page() {
  return (
    <Hero99
      badge={{ label: "What's New", variant: "secondary" }}
      heading="Ship faster with zero compromise"
      description="Design, develop, deploy, all in one place."
      buttons={[
        { label: "Get Started", href: "/signup", variant: "default" },
        { label: "Book a Demo", href: "/demo", variant: "outline" },
      ]}
      backgroundMedia={{ type: "video", src: "/videos/hero.mp4" }}
      marqueeWords={["Design", "Develop", "Deploy", "Ship"]}
    />
  );
}

Props

PropTypeDefaultDescription
badgeBadgePill shown above the heading
headingstringMain headline
descriptionstringSupporting copy under the heading
buttonsButtonItem[][]CTA buttons under the description
backgroundMediaBackgroundMediaVideo or image rendered inside the inset panel
marqueeWordsstring[][]Words repeated end to end in the scrolling ticker band
invertColorbooleantrueLight-on-dark treatment (white text, black overlay) vs. dark-on-light (foreground text, background overlay)
classNamestringExtra classes for the outer <section>
ts
type Badge = { label: string; variant?: "default" | "secondary" | "outline" };
type ButtonItem = { label: string; href: string; variant?: "default" | "outline" };
type BackgroundMedia = { type: "image" | "video"; src: string; alt?: string };

Behavior notes

More Hero blocks

View all Hero
PRO

hero86

Fullscreen Hero with Logo Cloud

Cinematic fullscreen hero with inset background video and trusted-by logo strip

PRO

hero85

Fullscreen Hero with Floating Testimonials

Cinematic fullscreen hero with inset background video and floating glassmorphism testimonial cards

PRO

hero100

Fullscreen Hero with Browser Mockup

Fullscreen hero with centered content and browser window frame mockup over inset background video

PRO

hero81

Fullscreen Hero with Quick-Access Cards

Cinematic fullscreen hero with inset background media and glassmorphism quick-access cards

PRO

hero130

Monochrome Hero with Rotating Announcement Ticker

Full-bleed hero with a static background image, a giant display heading, and a slim bordered bar that auto-rotates through short, clickable announcement messages with position dots.

PRO

hero80

Cinematic Hero with Overlapping Media

Centered hero with inset background media and overlapping product image