<nav class="navbar">
<div class="container">
<a href="#" class="logo">
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
<span>Brand</span>
</a>
<div class="menu-toggle" id="mobile-menu">
<span class="bar"></span>
<span class="bar"></span>
<span class="bar"></span>
</div>
<ul class="nav-menu">
<li><a href="#" class="nav-link">Home</a></li>
<li class="has-dropdown">
<a href="#" class="nav-link dropdown-toggle">Products <span class="arrow">▾</span></a>
<div class="mega-menu">
<div class="mega-content">
<div class="mega-column">
<h3>Software</h3>
<a href="#">Analytics Platform</a>
<a href="#">Marketing Tools</a>
<a href="#">CRM Solutions</a>
<a href="#">Cloud Storage</a>
</div>
<div class="mega-column">
<h3>Hardware</h3>
<a href="#">Processors</a>
<a href="#">Server Racks</a>
<a href="#">Networking</a>
<a href="#">Accessories</a>
</div>
<div class="mega-column featured">
<img src="https://placehold.co/300x150/3b82f6/ffffff?text=New+Arrival" alt="Feature">
<div class="featured-text">
<h4>New Version 5.0</h4>
<p>Experience the future of performance.</p>
</div>
</div>
</div>
</div>
</li>
<li><a href="#" class="nav-link">Pricing</a></li>
<li><a href="#" class="nav-link">About</a></li>
<li><a href="#" class="nav-btn">Get Started</a></li>
</ul>
</div>
</nav>.navbar {
font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
background-color: #ffffff;
box-shadow: 0 2px 15px rgba(0,0,0,0.05);
position: relative;
z-index: 100;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
display: flex;
justify-content: space-between;
align-items: center;
height: 70px;
}
.logo {
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
color: #1f2937;
font-weight: 800;
font-size: 1.5rem;
}
.nav-menu {
display: flex;
align-items: center;
gap: 30px;
list-style: none;
margin: 0;
padding: 0;
}
.nav-link {
text-decoration: none;
color: #4b5563;
font-weight: 500;
font-size: 1rem;
transition: color 0.3s;
display: flex;
align-items: center;
gap: 5px;
}
.nav-link:hover {
color: #2563eb;
}
.nav-btn {
padding: 10px 24px;
background: #2563eb;
color: white;
border-radius: 50px;
text-decoration: none;
font-weight: 600;
transition: background 0.3s;
}
.nav-btn:hover {
background: #1d4ed8;
}
/* Mega Menu Desktop */
.has-dropdown {
position: relative;
height: 70px;
display: flex;
align-items: center;
}
.mega-menu {
position: absolute;
top: 70px;
left: 50%;
transform: translateX(-50%) translateY(10px);
background: #ffffff;
width: 600px;
border-radius: 12px;
box-shadow: 0 10px 40px rgba(0,0,0,0.1);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
border: 1px solid #f3f4f6;
overflow: hidden;
}
.has-dropdown:hover .mega-menu {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.mega-content {
display: grid;
grid-template-columns: 1fr 1fr 1.5fr;
padding: 25px;
gap: 20px;
}
.mega-column h3 {
margin: 0 0 15px 0;
font-size: 0.9rem;
text-transform: uppercase;
color: #9ca3af;
letter-spacing: 1px;
}
.mega-column a {
display: block;
padding: 8px 0;
text-decoration: none;
color: #1f2937;
font-weight: 500;
transition: padding 0.2s, color 0.2s;
}
.mega-column a:hover {
padding-left: 5px;
color: #2563eb;
}
.featured img {
width: 100%;
border-radius: 8px;
margin-bottom: 10px;
}
.featured-text h4 {
margin: 0;
color: #111827;
}
.featured-text p {
margin: 5px 0 0 0;
font-size: 0.85rem;
color: #6b7280;
}
/* Mobile Menu */
.menu-toggle {
display: none;
cursor: pointer;
flex-direction: column;
gap: 5px;
}
.bar {
width: 25px;
height: 3px;
background-color: #1f2937;
border-radius: 2px;
}
@media (max-width: 900px) {
.menu-toggle {
display: flex;
}
.nav-menu {
position: absolute;
top: 70px;
left: 0;
width: 100%;
background: #ffffff;
flex-direction: column;
align-items: flex-start;
padding: 20px;
box-shadow: 0 10px 20px rgba(0,0,0,0.05);
display: none;
box-sizing: border-box;
}
.nav-menu.active {
display: flex;
}
.has-dropdown {
height: auto;
flex-direction: column;
align-items: flex-start;
width: 100%;
}
/* Reset Desktop Hover for Mobile */
.has-dropdown:hover .mega-menu {
display: none;
}
/* Only show when class "dropdown-active" is added by JS */
.has-dropdown.dropdown-active .mega-menu {
display: block;
position: static;
transform: none;
width: 100%;
opacity: 1;
visibility: visible;
box-shadow: none;
border: none;
padding: 0;
}
.mega-content {
grid-template-columns: 1fr;
padding: 10px 0 0 20px;
}
.featured {
display: none;
}
.nav-menu li {
width: 100%;
padding: 10px 0;
border-bottom: 1px solid #f9fafb;
}
.nav-btn {
display: inline-block;
margin-top: 15px;
width: 100%;
text-align: center;
box-sizing: border-box;
}
.arrow {
margin-left: auto;
padding-right: 20px;
}
}const mobileMenu = document.getElementById("mobile-menu");
const navMenu = document.querySelector(".nav-menu");
const dropdownToggles = document.querySelectorAll(".dropdown-toggle");
// Toggle Mobile Menu
mobileMenu.addEventListener("click", () => {
navMenu.classList.toggle("active");
});
// Toggle Dropdowns on Click (Mobile)
dropdownToggles.forEach(toggle => {
toggle.addEventListener("click", (e) => {
if (window.innerWidth <= 900) {
e.preventDefault(); // Prevent link navigation on mobile
toggle.parentElement.classList.toggle("dropdown-active");
}
});
});Nothing to show yetType HTML, CSS or JavaScript and your page appears here.
Click any element to find its code Esc
Check this code before you run it
It came from a shared link. It runs with fewer permissions, so it cannot open pop-ups, submit forms or start downloads.
0.00s / 0.00s
Nothing has animated yet. Hover, click or type in the preview and each CSS animation, transition or
element.animate() call shows up here as it plays.