Botones de neón Art Deco
Componentes de botones simples y receptivos con un estilo geométrico Art Deco y una combinación de colores neón/eléctricos vibrantes, adecuados para aplicaciones de atención médica. Incluye soporte para modo oscuro.
Código HTML
<div class="p-4 sm:p-8 bg-gray-100 dark:bg-gray-900 min-h-screen flex items-center justify-center font-sans tracking-wide">
<div class="w-full max-w-4xl p-6 sm:p-8 rounded-lg shadow-2xl bg-white dark:bg-gray-800 border-2 border-gray-200 dark:border-gray-700 transition-colors duration-300">
<h2 class="text-3xl sm:text-4xl font-bold text-center mb-8 text-gray-800 dark:text-gray-100 uppercase tracking-wider subpixel-antialiased">
<span class="text-fuchsia-500">Neon</span> <span class="text-teal-400">Art Deco</span> Buttons
</h2>
<p class="text-center mb-10 text-gray-600 dark:text-gray-400 max-w-2xl mx-auto leading-relaxed">
These buttons combine the elegant geometry of Art Deco with a vibrant neon aesthetic, ideal for modern healthcare interfaces. They are designed for clarity and visual impact.
</p>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 sm:gap-8 justify-items-center">
<!-- Primary Button -->
<button class="relative group overflow-hidden px-8 py-3 rounded-md text-lg font-semibold text-white dark:text-gray-900
bg-gradient-to-br from-fuchsia-600 to-purple-700
dark:from-fuchsia-400 dark:to-purple-500
shadow-lg shadow-fuchsia-500/50 dark:shadow-fuchsia-400/50
hover:from-fuchsia-700 hover:to-purple-800
dark:hover:from-fuchsia-500 dark:hover:to-purple-600
focus:outline-none focus:ring-4 focus:ring-fuchsia-300 dark:focus:ring-fuchsia-700
transition-all duration-300 ease-out transform hover:-translate-y-1 hover:scale-105">
<span class="relative z-10">Schedule Appointment</span>
<div class="absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-fuchsia-400/30 to-transparent group-hover:from-fuchsia-500/50 group-hover:dark:from-fuchsia-600/50 transition-all duration-500 ease-out"></div>
<div class="absolute inset-0 border-2 border-fuchsia-300 dark:border-fuchsia-700 rounded-md opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
</button>
<!-- Secondary Button -->
<button class="relative group overflow-hidden px-8 py-3 rounded-md text-lg font-semibold
text-teal-600 dark:text-teal-200
bg-gradient-to-br from-white to-gray-50 dark:from-gray-700 dark:to-gray-800
border-2 border-teal-500 dark:border-teal-400
shadow-lg shadow-teal-500/30 dark:shadow-teal-400/30
hover:text-white dark:hover:text-gray-900
hover:from-teal-500 hover:to-cyan-600
dark:hover:from-teal-400 dark:hover:to-cyan-500
focus:outline-none focus:ring-4 focus:ring-teal-300 dark:focus:ring-teal-700
transition-all duration-300 ease-out transform hover:-translate-y-1 hover:scale-105">
<span class="relative z-10">View Patient History</span>
<div class="absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_var(--tw-gradient-stops))] from-teal-400/20 to-transparent group-hover:from-teal-500/40 group-hover:dark:from-teal-600/40 transition-all duration-500 ease-out"></div>
<div class="absolute inset-0 border-2 border-teal-300 dark:border-teal-700 rounded-md opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
</button>
<!-- Tertiary / Ghost Button -->
<button class="relative group overflow-hidden px-8 py-3 rounded-md text-lg font-semibold
text-lime-600 dark:text-lime-300
bg-transparent
border-2 border-lime-500 dark:border-lime-400
shadow-lg shadow-lime-500/20 dark:shadow-lime-400/20
hover:text-white dark:hover:text-gray-900
hover:border-transparent
hover:bg-gradient-to-br from-lime-500 to-green-600
dark:hover:from-lime-400 dark:hover:to-green-500
focus:outline-none focus:ring-4 focus:ring-lime-300 dark:focus:ring-lime-700
transition-all duration-300 ease-out transform hover:-translate-y-1 hover:scale-105">
<span class="relative z-10">Emergency Contact</span>
<div class="absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-lime-400/10 to-transparent group-hover:from-lime-500/30 group-hover:dark:from-lime-600/30 transition-all duration-500 ease-out"></div>
<div class="absolute inset-0 border-2 border-lime-300 dark:border-lime-700 rounded-md opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
</button>
<!-- Icon Button (Example: Plus) -->
<button class="relative group overflow-hidden w-16 h-16 rounded-full flex items-center justify-center text-white text-3xl
bg-gradient-to-br from-blue-600 to-sky-700
dark:from-blue-400 dark:to-sky-500
shadow-lg shadow-blue-500/50 dark:shadow-blue-400/50
hover:from-blue-700 hover:to-sky-800
dark:hover:from-blue-500 dark:hover:to-sky-600
focus:outline-none focus:ring-4 focus:ring-blue-300 dark:focus:ring-blue-700
transition-all duration-300 ease-out transform hover:rotate-90 hover:scale-110">
<svg class="relative z-10 w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6"></path>
</svg>
<div class="absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-blue-400/30 to-transparent group-hover:from-blue-500/50 group-hover:dark:from-blue-600/50 transition-all duration-500 ease-out"></div>
<div class="absolute inset-0 border-2 border-blue-300 dark:border-blue-700 rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
</button>
<!-- Icon Button (Example: Settings) -->
<button class="relative group overflow-hidden w-16 h-16 rounded-full flex items-center justify-center text-gray-700 dark:text-gray-100 text-3xl
bg-white dark:bg-gray-700
border-2 border-gray-300 dark:border-gray-600
shadow-lg shadow-gray-300/30 dark:shadow-gray-700/30
hover:text-indigo-600 dark:hover:text-indigo-400
hover:border-indigo-500 dark:hover:border-indigo-400
focus:outline-none focus:ring-4 focus:ring-indigo-300 dark:focus:ring-indigo-700
transition-all duration-300 ease-out transform hover:-translate-y-1 hover:scale-105">
<svg class="relative z-10 w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.942 3.331.83 2.802 2.39a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.942 1.543-.83 3.331-2.39 2.802a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.942-3.331-.83-2.802-2.39a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.942-1.543.83-3.331 2.39-2.802a1.724 1.724 0 002.572-1.065z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
</svg>
<div class="absolute inset-0 border-2 border-indigo-300 dark:border-indigo-700 rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
</button>
<!-- Disabled Button -->
<button disabled class="relative group overflow-hidden px-8 py-3 rounded-md text-lg font-semibold text-gray-400 dark:text-gray-500
bg-gray-200 dark:bg-gray-700
border-2 border-gray-300 dark:border-gray-600
cursor-not-allowed
shadow-inner shadow-gray-300/30 dark:shadow-gray-800/30
transition-all duration-300 ease-out">
<span class="relative z-10">Action Unavailable</span>
</button>
</div>
</div>
</div>
Componentes relacionados
Gradient_Weather_Buttons
Un conjunto de botones responsivos para pronósticos meteorológicos y datos climáticos, con un degradado púrpura/violeta con transiciones de desplazamiento suaves y compatibilidad con el modo oscuro.
Componente Botones de Material Design
Componente de botones de diseño de materiales en tonos tierra para redes sociales
Componente de botones de brutalismo
Un componente de botones con un diseño brutalista, con colores de alta saturación, diseño receptivo y soporte de modo oscuro, adecuado para sitios web comerciales y corporativos.