Spotlight
Un brillo radial sigue al cursor por la superficie de la tarjeta.
Tarjeta con foco de luz
Un círculo de luz suave sigue al cursor por la tarjeta y se apaga en cuanto sales de ella.
Ajustes
Código
import { useRef, useState } from "react";
interface GlowCardProps {
intensity?: number;
glow?: string;
radius?: number;
}
export default function GlowCard({
intensity = 1,
glow = "#6366f1",
radius = 16,
}: GlowCardProps) {
const [pos, setPos] = useState({ x: 50, y: 50 });
const [hover, setHover] = useState(false);
const ref = useRef<HTMLDivElement>(null);
return (
<div
ref={ref}
className="relative w-64 overflow-hidden border border-black/10 bg-white p-6 text-[#1d1d1f] dark:border-white/10 dark:bg-[#1c1c1e] dark:text-[#f5f5f7]"
style={{ borderRadius: radius }}
onMouseEnter={() => setHover(true)}
onMouseLeave={() => setHover(false)}
onMouseMove={(e) => {
const el = ref.current;
if (!el) return;
const r = el.getBoundingClientRect();
setPos({
x: ((e.clientX - r.left) / r.width) * 100,
y: ((e.clientY - r.top) / r.height) * 100,
});
}}
>
<div
className="pointer-events-none absolute inset-0 transition-opacity duration-300"
style={{
opacity: hover ? Math.min(1, intensity * 0.6) : 0,
background: `radial-gradient(320px circle at ${pos.x}% ${pos.y}%, ${glow}55, transparent 70%)`,
}}
/>
<div className="relative">
<div className="mb-4 h-10 w-10 rounded-full" style={{ backgroundColor: glow }} />
<h3 className="text-base font-semibold">Spotlight</h3>
<p className="mt-1.5 text-sm text-[#86868b]">
Un brillo radial sigue al cursor por la superficie de la tarjeta.
</p>
</div>
</div>
);
}
Prompt para IA
Pégalo en ChatGPT, Claude o Cursor y adaptará el bloque a tu proyecto con estos ajustes, aunque no uses React.
Más en Cards
Dónde usarlo
El efecto spotlight triunfa en las landings oscuras por algo: hace que una cuadrícula de tarjetas parezca interactiva sin mover nada. Úsalo en la sección de funciones de un SaaS, en la lista de servicios de una agencia o en un bloque de planes. Es el efecto de tarjeta con brillo al pasar el ratón que mucha gente busca.
Necesita un fondo oscuro o de tono medio para verse; sobre blanco la luz casi desaparece. Ajusta el brillo al color de acento de tu marca y deja la intensidad moderada para que el texto se siga leyendo bien.