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.

Markdown-Version mit dem ganzen Code, für KI-Assistenten

Mehr aus Buttons

Alle ansehen: 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.