Bouton à liseré lumineux
Un fin reflet de lumière fait le tour du bouton, lentement et sans s’arrêter.
Réglages
Code
import { motion } from "framer-motion";
interface RotatingLightBorderProps {
text?: string;
color?: string;
/** Segundos por vuelta del reflejo. */
speed?: number;
}
export default function RotatingLightBorder({
text = "Explorer",
color = "#2997ff",
speed = 3,
}: RotatingLightBorderProps) {
return (
<div className="relative overflow-hidden rounded-full p-[1px]">
<motion.span
className="absolute inset-[-150%]"
style={{ background: `conic-gradient(transparent 0 75%, ${color})` }}
animate={{ rotate: 360 }}
transition={{ duration: speed, repeat: Infinity, ease: "linear" }}
/>
<button
type="button"
className="relative rounded-full bg-white dark:bg-[#1c1c1e] px-6 py-3 text-sm font-medium text-[#1d1d1f] dark:text-[#f5f5f7]"
>
{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
C’est le cousin discret de la bordure dégradée : une seule ligne de lumière au lieu de grandes traînées de couleur. Il convient à une image haut de gamme, comme le « Voir la collection » d’un bijoutier ou le « Voir le film » d’un studio. À côté d’effets plus bruyants, cette bordure lumineuse en rotation paraît sûre d’elle sans en faire trop.
Environ trois secondes par tour, c’est élégant ; plus vite, on croirait un indicateur de chargement. Une couleur vive sur une page sombre donne le meilleur résultat, car sur fond blanc cette ligne fine disparaît presque.