React + MotionButtons

Animierter Verlaufsrahmen

Zwei Farbstreifen jagen sich in einer Endlosschleife um den Rand des Buttons.

Einstellungen

24px
3

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.