React + MotionBoutons
Bordure dégradée animée
Deux traînées de couleur se poursuivent autour du bouton dans une boucle sans fin.
Réglages
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 = "Bouton lumineux",
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 pour l’IA
Collez-le dans ChatGPT, Claude ou Cursor : le bloc sera adapté à votre projet avec ces réglages, même sans React.
Plus dans Boutons
Où l’utiliser
Une bordure qui tourne attire le regard sans remplir le bouton de couleur, et ressort surtout sur les sites sombres : le « Rejoindre la liste d’attente » d’un lancement, un lien mis en avant dans le menu ou le bouton d’abonnement d’une application. La bordure en dégradé animé est un classique qui a bien vieilli.
Attention au réglage d’intensité : il fixe le nombre de secondes pour un tour complet, donc une valeur plus haute tourne plus lentement. Autour de trois secondes, l’effet reste posé. Un seul par écran, sinon ils se font concurrence.