Hover Border Gradient
- Source
- Aceternity UI ↗
- Author
- Aceternity UI
- Licence
- Aceternity UI licence (free component)
Loading…
A glow circles the pill button's border and spreads into a blue highlight when hovered.
Code
"use client";
import React from "react";
import { HoverBorderGradient } from "@/lab/aceternity/ui/hover-border-gradient";
export default function HoverBorderGradientDemo() {
return (
<div className="relative flex h-full w-full items-center justify-center text-center">
<HoverBorderGradient
containerClassName="rounded-full"
as="button"
className="dark:bg-black bg-white text-black dark:text-white flex items-center space-x-2"
>
<AceternityLogo />
<span>Aceternity UI</span>
</HoverBorderGradient>
</div>
);
}
const AceternityLogo = () => {
return (
<svg
width="66"
height="65"
viewBox="0 0 66 65"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="h-3 w-3 text-black dark:text-white"
>
<path
d="M8 8.05571C8 8.05571 54.9009 18.1782 57.8687 30.062C60.8365 41.9458 9.05432 57.4696 9.05432 57.4696"
stroke="currentColor"
strokeWidth="15"
strokeMiterlimit="3.86874"
strokeLinecap="round"
/>
</svg>
);
};
Prompt
Build "Hover Border Gradient", a button animation. What it does: A glow circles the pill button's border and spreads into a blue highlight when hovered. Write it as a single self-contained React component in TypeScript that fills its parent (w-full h-full), styled with Tailwind CSS, using motion. Technique: the Motion library, inline SVG. It sits on a dark background, in a 16:10 frame. Respect prefers-reduced-motion with a still state, pause work when the element is off screen, and keep it accessible. Original: https://ui.aceternity.com/components/hover-border-gradient (Aceternity UI, Aceternity UI licence (free component)).