DevPlatform
Home
Components
Search
Submit
Earn
Login
Sign Up Free
nav menu - Preview | DevPlatform
DevPlatform
Categories
Accordion
Animation
Box Shadow
Button
Card
Footer
Form
Gallery
Hero Section
Inputs
Loader
Marquee
Modal
Modules
Navbar
Progress Bar
Radio Buttons
Search-Bar
Sections
Slider
Tab
Timeline
Toggle
nav menu
sachin007
Jan 25, 2026
6
0
Share
Live Preview
Refresh
Live Editor
HTML
CSS
JS
HTML
CSS
JavaScript
1
<nav class="navbar"> <div class="nav-container"> <div class="logo">UIBlitz</div> <div class="menu-toggle" id="menuToggle"> <span></span> <span></span> <span></span> </div> <ul class="nav-menu" id="navMenu"> <li class="nav-item"> <a href="#" class="nav-link active">Home</a> </li> <li class="nav-item"> <a href="#" class="nav-link">About</a> </li> <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle">Services</a> <div class="dropdown-menu"> <a href="#" class="dropdown-item">Web Design</a> <a href="#" class="dropdown-item">Development</a> <a href="#" class="dropdown-item">Marketing</a> <a href="#" class="dropdown-item">Consulting</a> </div> </li> <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle">Products</a> <div class="dropdown-menu"> <a href="#" class="dropdown-item">Software</a> <a href="#" class="dropdown-item">Templates</a> <a href="#" class="dropdown-item">Themes</a> </div> </li> <li class="nav-item"> <a href="#" class="nav-link">Portfolio</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Contact</a> </li> </ul> </div> </nav>
1
* { margin: 0; padding: 0; box-sizing: border-box; } body { min-height: 100vh; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); font-family: 'Arial', sans-serif; perspective: 1500px; } /* Navbar Container */ .navbar { position: fixed; top: 0; left: 0; width: 100%; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding: 0 50px; z-index: 1000; transform-style: preserve-3d; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2); } .nav-container { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; height: 80px; } /* Logo */ .logo { font-size: 28px; font-weight: 900; color: white; text-transform: uppercase; letter-spacing: 2px; transform-style: preserve-3d; animation: logo-float 3s ease-in-out infinite; text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2), 4px 4px 10px rgba(0, 0, 0, 0.3); cursor: pointer; transition: transform 0.3s ease; } .logo:hover { transform: translateZ(20px) scale(1.05); } @keyframes logo-float { 0%, 100% { transform: translateZ(0) rotateY(0deg); } 50% { transform: translateZ(10px) rotateY(5deg); } } /* Navigation Menu */ .nav-menu { display: flex; list-style: none; gap: 10px; align-items: center; } .nav-item { position: relative; transform-style: preserve-3d; } .nav-link { display: block; padding: 12px 24px; color: white; text-decoration: none; font-size: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; position: relative; transform-style: preserve-3d; transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); border-radius: 12px; } .nav-link::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.1); border-radius: 12px; transform: translateZ(-10px); transition: all 0.4s ease; opacity: 0; } .nav-link:hover { transform: translateZ(20px); color: #fff; } .nav-link:hover::before { opacity: 1; transform: translateZ(-20px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); } /* Dropdown Menu */ .dropdown { position: relative; } .dropdown-toggle::after { content: '▼'; font-size: 10px; margin-left: 8px; transition: transform 0.3s ease; } .dropdown:hover .dropdown-toggle::after { transform: rotate(180deg); } .dropdown-menu { position: absolute; top: 100%; left: 0; background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 16px; padding: 10px; min-width: 220px; opacity: 0; visibility: hidden; transform: translateY(-20px) translateZ(-50px) rotateX(-15deg); transform-style: preserve-3d; transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); margin-top: 10px; } .dropdown:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0) translateZ(0) rotateX(0deg); } .dropdown-item { display: block; padding: 12px 20px; color: white; text-decoration: none; border-radius: 10px; transition: all 0.3s ease; font-size: 14px; font-weight: 500; transform-style: preserve-3d; } .dropdown-item:hover { background: rgba(255, 255, 255, 0.2); transform: translateX(10px) translateZ(10px); padding-left: 30px; } /* Mobile Menu Toggle */ .menu-toggle { display: none; flex-direction: column; gap: 6px; cursor: pointer; padding: 10px; background: rgba(255, 255, 255, 0.1); border-radius: 12px; transform-style: preserve-3d; transition: transform 0.3s ease; } .menu-toggle:hover { transform: translateZ(10px); } .menu-toggle span { width: 30px; height: 3px; background: white; border-radius: 3px; transition: all 0.3s ease; transform-style: preserve-3d; } .menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(8px, 8px); } .menu-toggle.active span:nth-child(2) { opacity: 0; } .menu-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(8px, -8px); } /* Content Area */ .content { padding-top: 150px; text-align: center; color: white; } .content h1 { font-size: 64px; font-weight: 900; margin-bottom: 20px; transform-style: preserve-3d; animation: title-float 4s ease-in-out infinite; text-shadow: 0 0 20px rgba(255, 255, 255, 0.5), 0 10px 40px rgba(0, 0, 0, 0.3); } @keyframes title-float { 0%, 100% { transform: translateZ(0) rotateX(0deg); } 50% { transform: translateZ(30px) rotateX(5deg); } } .content p { font-size: 20px; opacity: 0.9; max-width: 600px; margin: 0 auto; line-height: 1.6; } /* Active State */ .nav-link.active { background: rgba(255, 255, 255, 0.2); transform: translateZ(15px); } /* Responsive */ @media (max-width: 768px) { .navbar { padding: 0 20px; } .menu-toggle { display: flex; } .nav-menu { position: fixed; top: 80px; left: 0; width: 100%; background: rgba(102, 126, 234, 0.98); backdrop-filter: blur(20px); flex-direction: column; padding: 20px; gap: 0; transform: translateY(-100%); opacity: 0; transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); } .nav-menu.active { transform: translateY(0); opacity: 1; } .nav-item { width: 100%; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .nav-link { padding: 16px; width: 100%; } .dropdown-menu { position: static; transform: none; opacity: 0; max-height: 0; overflow: hidden; margin-top: 0; padding: 0; transition: all 0.4s ease; } .dropdown.active .dropdown-menu { opacity: 1; max-height: 500px; padding: 10px; margin-top: 10px; } .content h1 { font-size: 36px; } .content p { font-size: 16px; padding: 0 20px; } }
1
const menuToggle = document.getElementById('menuToggle'); const navMenu = document.getElementById('navMenu'); const dropdowns = document.querySelectorAll('.dropdown'); // Mobile menu toggle menuToggle.addEventListener('click', () => { menuToggle.classList.toggle('active'); navMenu.classList.toggle('active'); }); // Mobile dropdown toggle dropdowns.forEach(dropdown => { const toggle = dropdown.querySelector('.dropdown-toggle'); toggle.addEventListener('click', (e) => { if (window.innerWidth <= 768) { e.preventDefault(); dropdown.classList.toggle('active'); } }); }); // Active link handling const navLinks = document.querySelectorAll('.nav-link:not(.dropdown-toggle)'); navLinks.forEach(link => { link.addEventListener('click', (e) => { navLinks.forEach(l => l.classList.remove('active')); link.classList.add('active'); }); }); // Close mobile menu when clicking outside document.addEventListener('click', (e) => { if (!e.target.closest('.navbar')) { menuToggle.classList.remove('active'); navMenu.classList.remove('active'); } });
Comments
0
Want to comment?
Please
login
or
sign up
to post comments.
No comments yet
Be the first to comment on this component!
Comments 0
Want to comment?
Please login or sign up to post comments.
No comments yet
Be the first to comment on this component!