Html Css Dropdown Menu Codepen – Simple & Validated

/* dropdown arrow indicator (custom caret) */ .dropdown-arrow font-size: 0.7rem; transition: transform 0.25s ease; display: inline-block; margin-left: 0.2rem; font-weight: 700;

/* keep dropdowns inside view on small screens */ @media (max-width: 900px) .dropdown-submenu > .dropdown-menu left: 0; top: 100%; margin-top: 0.3rem;

/* ----- DROPDOWN MENU STYLES (multi-level but flat design) ----- */ .dropdown-menu position: absolute; top: calc(100% + 0.7rem); left: 0; min-width: 220px; background: #ffffff; border-radius: 1.5rem; padding: 0.7rem 0; list-style: none; box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0,0,0,0.02); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: all 0.28s cubic-bezier(0.2, 0.9, 0.4, 1.1); pointer-events: none; z-index: 200; backdrop-filter: blur(0px); html css dropdown menu codepen

/* main navigation list */ .nav-list display: flex; list-style: none; gap: 0.25rem; flex-wrap: wrap; justify-content: center;

.brand-header h1 font-weight: 700; font-size: 2.1rem; letter-spacing: -0.3px; background: linear-gradient(135deg, #1a2a3f, #1e3a5f); background-clip: text; -webkit-background-clip: text; color: transparent; text-shadow: 2px 2px 6px rgba(0,0,0,0.05); /* dropdown arrow indicator (custom caret) */

<!-- Services dropdown (with nested submenu) --> <li class="nav-item"> <a href="#" class="nav-link"> ⚙️ Services <span class="dropdown-arrow">▼</span> </a> <ul class="dropdown-menu"> <li><a href="#"><span class="menu-icon">🎨</span> UI/UX Design</a></li> <li><a href="#"><span class="menu-icon">📈</span> Consulting</a></li> <!-- nested submenu item (dropdown inside dropdown) --> <li class="dropdown-submenu"> <a href="#"> <span class="menu-icon">⚡</span> Development <span class="submenu-arrow">›</span> </a> <ul class="dropdown-menu"> <li><a href="#">Frontend</a></li> <li><a href="#">Backend</a></li> <li><a href="#">Full Stack</a></li> <li><a href="#">DevOps</a></li> </ul> </li> <li><a href="#"><span class="menu-icon">🔍</span> SEO & Analytics</a></li> </ul> </li>

<!-- main dropdown navigation bar --> <nav class="nav-menu" aria-label="Main navigation with dropdowns"> <ul class="nav-list"> <!-- Home item (no dropdown) --> <li class="nav-item"> <a href="#" class="nav-link"> 🏠 <span>Home</span> </a> </li> transition: transform 0.25s ease

/* adjust submenu arrow */ .submenu-arrow margin-left: auto; font-size: 0.7rem; transition: transform 0.2s;

/* main card / container to showcase menu */ .demo-container background: rgba(255,255,255,0.35); backdrop-filter: blur(3px); border-radius: 2.5rem; padding: 2.5rem 1.5rem; box-shadow: 0 20px 35px -12px rgba(0,0,0,0.2); width: 100%; max-width: 1200px; transition: all 0.2s;