Hamburger-Menü-Komponente
Eine reaktionsschnelle Hamburger-Menükomponente mit Neon-/Leuchteffekt, kontrastreichem Farbschema und Unterstützung des Dunkelmodus, geeignet für Mode- und Beauty-Websites.
HTML-Code
<div class="relative bg-gradient-to-br from-purple-900 to-indigo-900 min-h-screen font-sans antialiased dark:from-gray-900 dark:to-black">
<nav class="relative container mx-auto px-4 py-6 flex items-center justify-between z-20">
<!-- Logo -->
<a href="#" class="text-4xl font-bold tracking-tight text-transparent bg-clip-text bg-gradient-to-r from-pink-400 via-purple-400 to-indigo-400 shadow-text-neon text-shadow-glow-pink-indigo transition-transform duration-300 hover:scale-105">
LUMINA
</a>
<!-- Hamburger Button (Mobile) -->
<div class="md:hidden">
<button id="menu-toggle" class="relative w-10 h-10 flex items-center justify-center p-2 rounded-full border-2 border-pink-400 group focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-pink-500 dark:border-purple-600 dark:focus:ring-purple-700">
<span class="block absolute w-7 h-0.5 bg-pink-400 transition-all duration-300 ease-in-out group-hover:bg-pink-300 group-[.open]:h-0 group-[.open]:top-1/2 group-[.open]:-rotate-45 dark:bg-purple-600 dark:group-hover:bg-purple-500" style="top: calc(50% - 7px);"></span>
<span class="block absolute w-7 h-0.5 bg-pink-400 transition-all duration-300 ease-in-out group-hover:bg-pink-300 group-[.open]:opacity-0 dark:bg-purple-600 dark:group-hover:bg-purple-500"></span>
<span class="block absolute w-7 h-0.5 bg-pink-400 transition-all duration-300 ease-in-out group-hover:bg-pink-300 group-[.open]:h-0 group-[.open]:top-1/2 group-[.open]:rotate-45 dark:bg-purple-600 dark:group-hover:bg-purple-500" style="top: calc(50% + 6px);"></span>
</button>
</div>
<!-- Desktop Menu -->
<ul class="hidden md:flex space-x-8 text-lg font-medium">
<li><a href="#" class="py-2 px-3 text-pink-300 transition-colors duration-300 hover:text-pink-100 hover:shadow-text-glow-sm hover:underline hover:underline-offset-4 decoration-pink-500 dark:text-purple-400 dark:hover:text-purple-200 dark:decoration-purple-600">Home</a></li>
<li><a href="#" class="py-2 px-3 text-pink-300 transition-colors duration-300 hover:text-pink-100 hover:shadow-text-glow-sm hover:underline hover:underline-offset-4 decoration-pink-500 dark:text-purple-400 dark:hover:text-purple-200 dark:decoration-purple-600">Products</a></li>
<li><a href="#" class="py-2 px-3 text-pink-300 transition-colors duration-300 hover:text-pink-100 hover:shadow-text-glow-sm hover:underline hover:underline-offset-4 decoration-pink-500 dark:text-purple-400 dark:hover:text-purple-200 dark:decoration-purple-600">About</a></li>
<li><a href="#" class="py-2 px-3 text-pink-300 transition-colors duration-300 hover:text-pink-100 hover:shadow-text-glow-sm hover:underline hover:underline-offset-4 decoration-pink-500 dark:text-purple-400 dark:hover:text-purple-200 dark:decoration-purple-600">Contact</a></li>
</ul>
</nav>
<!-- Mobile Menu (Hidden by default) -->
<div id="mobile-menu" class="hidden fixed inset-0 bg-gradient-to-br from-purple-800 to-indigo-800 backdrop-blur-md z-10 flex flex-col items-center justify-center space-y-8 md:hidden dark:from-gray-800 dark:to-black dark:border-t dark:border-purple-700 transform -translate-y-full opacity-0 transition-all duration-500 ease-in-out">
<ul class="text-center space-y-6 text-2xl font-bold flex flex-col justify-center items-center">
<li><a href="#" class="py-3 px-6 text-pink-200 hover:text-pink-50 transition-colors duration-200 block border-b border-pink-400/30 hover:border-pink-300/80 dark:text-purple-300 dark:hover:text-purple-100 dark:border-purple-600/30 dark:hover:border-purple-500/80">Home</a></li>
<li><a href="#" class="py-3 px-6 text-pink-200 hover:text-pink-50 transition-colors duration-200 block border-b border-pink-400/30 hover:border-pink-300/80 dark:text-purple-300 dark:hover:text-purple-100 dark:border-purple-600/30 dark:hover:border-purple-500/80">Products</a></li>
<li><a href="#" class="py-3 px-6 text-pink-200 hover:text-pink-50 transition-colors duration-200 block border-b border-pink-400/30 hover:border-pink-300/80 dark:text-purple-300 dark:hover:text-purple-100 dark:border-purple-600/30 dark:hover:border-purple-500/80">About</a></li>
<li><a href="#" class="py-3 px-6 text-pink-200 hover:text-pink-50 transition-colors duration-200 block border-b border-pink-400/30 hover:border-pink-300/80 dark:text-purple-300 dark:hover:text-purple-100 dark:border-purple-600/30 dark:hover:border-purple-500/80">Contact</a></li>
</ul>
</div>
<!-- Content beneath the header for demonstration of z-index and menu overlay -->
<div class="relative z-0 max-w-4xl mx-auto p-8 rounded-lg mt-10 bg-white/10 backdrop-blur-md shadow-2xl shadow-purple-900/50 dark:bg-gray-800/20 dark:shadow-black/50 border border-purple-500/30 dark:border-gray-700/30">
<h1 class="text-5xl font-extrabold text-pink-200 mb-6 tracking-wide text-shadow-glow-pink dark:text-purple-300 text-center">
Elevate Your Beauty
</h1>
<p class="text-xl text-gray-100 leading-relaxed dark:text-gray-200 text-center">
Discover our exquisite collection of beauty essentials designed to illuminate your natural radiance. Experience the future of cosmetics.
</p>
<img src="https://picsum.photos/seed/fashion/800/400" alt="placeholder beauty product" class="mt-8 w-full h-auto rounded-lg shadow-xl shadow-pink-500/30 dark:shadow-purple-700/30 border-2 border-pink-400 dark:border-purple-600">
</div>
<style>
/* Custom utility for neon text shadow */
.text-shadow-glow-pink {
text-shadow: 0 0 5px rgba(255, 105, 180, 0.7),
0 0 10px rgba(255, 105, 180, 0.5),
0 0 15px rgba(255, 105, 180, 0.3),
0 0 20px rgba(255, 105, 180, 0.2);
}
.dark .text-shadow-glow-pink {
text-shadow: 0 0 5px rgba(160, 0, 255, 0.7),
0 0 10px rgba(160, 0, 255, 0.5),
0 0 15px rgba(160, 0, 255, 0.3),
0 0 20px rgba(160, 0, 255, 0.2);
}
.text-shadow-glow-sm {
text-shadow: 0 0 2px rgba(255, 105, 180, 0.4),
0 0 4px rgba(255, 105, 180, 0.3),
0 0 6px rgba(255, 105, 180, 0.2);
}
.dark .text-shadow-glow-sm {
text-shadow: 0 0 2px rgba(160, 0, 255, 0.4),
0 0 4px rgba(160, 0, 255, 0.3),
0 0 6px rgba(160, 0, 255, 0.2);
}
.shadow-text-neon {
text-shadow: 0 0 7px rgba(255, 105, 180, 0.8),
0 0 10px rgba(173, 216, 230, 0.6),
0 0 15px rgba(128, 0, 128, 0.4);
}
.text-shadow-glow-pink-indigo {
text-shadow: 0 0 8px #f472b6, /* pink-400 */
0 0 12px #a78bfa, /* violet-400 */
0 0 16px #c084fc, /* purple-400 */
0 0 20px rgba(236, 72, 153, 0.3), /* pink-500 */
0 0 25px rgba(139, 92, 246, 0.2); /* violet-500 */
}
</style>
<script>
// This is for demonstration purposes. In a real project, this would be in a separate JS file.
document.addEventListener('DOMContentLoaded', () => {
const menuToggle = document.getElementById('menu-toggle');
const mobileMenu = document.getElementById('mobile-menu');
menuToggle.addEventListener('click', () => {
const isOpen = menuToggle.classList.toggle('open');
if (isOpen) {
mobileMenu.classList.remove('-translate-y-full', 'opacity-0');
mobileMenu.classList.add('translate-y-0', 'opacity-100');
} else {
mobileMenu.classList.remove('translate-y-0', 'opacity-100');
mobileMenu.classList.add('-translate-y-full', 'opacity-0');
}
});
// Close mobile menu when a link is clicked
mobileMenu.querySelectorAll('a').forEach(link => {
link.addEventListener('click', () => {
menuToggle.classList.remove('open');
mobileMenu.classList.remove('translate-y-0', 'opacity-100');
mobileMenu.classList.add('-translate-y-full', 'opacity-0');
});
});
});
</script>
</div>
Verwandte Komponenten
3D-Hamburger-Menükomponente
Eine reaktionsschnelle Hamburger-Menükomponente mit 3D-Ästhetik, warmem, neutralem Farbschema und Unterstützung des Dunkelmodus, geeignet für Unterhaltungs- und Medienplattformen. Verfügt über einen subtilen 3D-Hover-Effekt.
Glasmorphismus Hamburger Menü
Eine einfache, reaktionsschnelle Hamburger-Menükomponente mit Glassmorphism-Design, komplementärem Farbschema und Unterstützung für den Dunkelmodus.
Hamburger-Menü-Komponente
Eine skeuomorphe Hamburger-Menükomponente für ein Armaturenbrett mit pastellfarbenem Farbschema und minimalistischem Design.