Animated Border Video CTA
Split CTA layout: heading, copy, and buttons on one side, and on the other a video card wrapped in a rotating conic-gradient border ring, a soft blurred glow shape behind it for depth, and the whole card gently floating up and down, a premium, ambient showcase for a short product clip.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/animated-border-video-cta.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/cta/cta61.tsx instead.
Usage
The file also exports cta61Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Cta61, cta61Demo } from "@/components/blocks/cta/cta61"; export default function Page() { return <Cta61 {...cta61Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | none | Small label above the heading. |
| heading | string | none | Main CTA heading. |
| description | string | none | Supporting paragraph. |
| primaryLabel | string | "Get started" | Primary button label. |
| primaryHref | string | "#" | Primary button destination. |
| secondaryLabel | string | none | Optional secondary link-style button label. |
| secondaryHref | string | "#" | Secondary button destination. |
| videoSrc | string | none | MP4 source URL for the looping card video. |
| posterSrc | string | none | Poster image shown before the video loads. |
| className | string | none | Extra classes for the outer section element. |
Behavior notes
- The border ring is a `conic-gradient` painted onto an oversized absolutely-positioned layer behind an inset video, continuously rotated with a pure CSS `@keyframes` transform: rotate loop, no JS; only the ring color shows past the inset video's edge.
- The float animation reuses the same translateY `@keyframes` pattern as the circular-video CTA, layered on top of the rotating ring so both animations run independently and continuously.
- The blurred glow behind the card is a plain `bg-primary/30 blur-3xl` shape, decorative and `aria-hidden`, not a video or interactive element.
- The video autoplays muted and looped via native HTML attributes only and is marked `aria-hidden`, purely decorative inside the card.
More CTA Blocks
View all →centered-newsletter-cta
Centered Newsletter CTA
Minimal centered call-to-action with heading, description, and action buttons.
split-layout-newsletter-cta
Split Layout Newsletter CTA
Two-column call-to-action with a decorative image on one side and a feature list plus subscribe form on the other.
newsletter-social-proof-cta
Newsletter CTA with Social Proof
Newsletter call-to-action with an avatar stack, subscriber count, and a testimonial quote.
banner-cta
Banner CTA
Horizontal banner call-to-action with heading and action buttons side by side.
stats-cta
Stats CTA
Call-to-action section with impressive statistics and trust indicators above action buttons.
multi-card-cta
Multi-Card CTA
Three action cards side by side, each offering a different path to conversion.