Animierter Verlaufsrahmen
Zwei Farbstreifen jagen sich in einer Endlosschleife um den Rand des Buttons.
Einstellungen
Code
interface GradientBorderButtonProps {
color?: string;
radius?: number;
text?: string;
/** Segundos por vuelta del borde. */
intensity?: number;
}
export default function GradientBorderButton({
color = "#0071e3",
radius = 24,
text = "Glow-Button",
intensity = 3,
}: GradientBorderButtonProps) {
return (
<div
className="relative overflow-hidden p-[2px]"
style={{ borderRadius: radius + 2 }}
>
<div
className="absolute inset-[-100%] animate-spin"
style={{
background: `conic-gradient(from 0deg, transparent 0%, ${color} 20%, transparent 40%, transparent 60%, ${color} 80%, transparent 100%)`,
animationDuration: `${intensity}s`,
}}
/>
<button
type="button"
className="relative z-10 bg-[#f5f5f7] px-6 py-3 text-sm font-semibold text-[#1d1d1f] dark:bg-black dark:text-[#f5f5f7]"
style={{ borderRadius: radius }}
>
{text}
</button>
</div>
);
}
Prompt für KI
Füg ihn in ChatGPT, Claude oder Cursor ein und der Baustein wird mit diesen Einstellungen an dein Projekt angepasst, auch ohne React.
Mehr aus Buttons
Wofür du ihn nutzen kannst
Ein rotierender Rahmen zieht Blicke an, ohne den ganzen Button mit Farbe zu füllen. Deshalb wirkt er besonders auf dunklen Seiten: der „Auf die Warteliste“-Button bei einem Produktlaunch, ein hervorgehobener Link in der Navigation oder der Upgrade-Button in einer App. Der animierte Verlaufsrahmen ist ein Klassiker, der sich auf dunklen Seiten immer noch lohnt.
Vorsicht beim Regler für die Intensität: Er legt fest, wie viele Sekunden eine Runde dauert. Ein höherer Wert dreht also langsamer. Um die drei Sekunden wirkt es entspannt. Höchstens einer pro Bildschirm, sonst konkurrieren sie miteinander.