<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Navigation Bar</title> <style> .my-nav { background-color: rgba(255, 228, 225, 0.95); padding: 10px 0; position: fixed; width: 100%; top: 0; left: 0; z-index: 1000; height: 50px; border-bottom: 2px solid #fa8072; box-shadow: 0 2px 10px rgba(0,0,0,0.1); display: flex; justify-content: center; transition: all 0.3s ease; } .hamburger { display: none; /* 默认隐藏 */ font-size: 30px; cursor: pointer; margin-left: 15px; color: #333; } .my-navbar { list-style-type: none; padding: 0; margin: 0; display: flex; justify-content: center; align-items: center; height: 100%; } .my-navbar > li { position: relative; margin: 0 15px; } .my-navbar > li > a { color: #333; text-decoration: none; padding: 10px 15px; display: block; border-radius: 20px; transition: all 0.3s ease; font-weight: 500; letter-spacing: 0.5px; } .my-navbar > li > a:hover, .my-navbar > li > a.active { background-color: #fa8072; color: white; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(250, 128, 114, 0.3); } .son { display: none; position: absolute; background-color: rgba(255, 255, 255, 0.95); min-width: 200px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); z-index: 1; opacity: 0; transition: all 0.3s ease; top: 100%; border-radius: 10px; overflow: hidden; padding: 5px; } .son li { margin: 5px 0; } .son li a { color: #333; padding: 12px 20px; text-decoration: none; display: block; transition: all 0.3s ease; white-space: nowrap; border-radius: 20px; } .son li a:hover { background-color: #fa8072; color: white; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(250, 128, 114, 0.3); } /* 响应式设计 */ @media (max-width: 768px) { .my-nav { height: auto; padding: 10px; justify-content: flex-start; } .hamburger { display: block; } .my-navbar { flex-direction: column; align-items: flex-start; display: none; width: 100%; } .my-navbar.show-menu { display: flex; } .my-navbar > li { width: 100%; margin: 5px 0; } .my-navbar > li > a { width: 100%; padding: 10px 15px; } .my-navbar > li > ul.son { position: static; display: none; width: 100%; opacity: 1; box-shadow: none; background-color: transparent; padding: 0; margin-left: 20px; } .my-navbar > li.show > ul.son { display: block; } .son li a { padding: 10px 15px; border-radius: 0; } } </style> </head> <body> <nav class="my-nav" id="navbox"> <div class="hamburger" onclick="toggleMenu()"> ☰ </div> <ul class="my-navbar" id="my-navbar"> <li><a href="{{ url_for('home') }}">Home</a></li> <li onmouseover="over(this)" onmouseleave="leave(this)"> <a href="#" style="cursor:default;">Project</a> <ul class="son"> <li><a href="{{ url_for('pages', page='description') }}">Description</a></li> <li><a href="{{ url_for('pages', page='engineering') }}">Engineering</a></li> <li><a href="{{ url_for('pages', page='proof-of-concept') }}">Proof Of Concept</a></li> <li><a href="{{ url_for('pages', page='safety') }}">Safety</a></li> <li><a href="{{ url_for('pages', page='contribution') }}">Contribution</a></li> </ul> </li> <li onmouseover="over(this)" onmouseleave="leave(this)"> <a href="#" style="cursor:default;">Wetlab</a> <ul class="son"> <li><a href="{{ url_for('pages', page='therapy-system') }}">Therapy System</a></li> <li><a href="{{ url_for('pages', page='colonization') }}">Colonization</a></li> <li><a href="{{ url_for('pages', page='parts') }}">Parts</a></li> </ul> </li> <li onmouseover="over(this)" onmouseleave="leave(this)"> <a href="#" style="cursor:default;">Drylab</a> <ul class="son"> <li><a href="{{ url_for('pages', page='model') }}">Model</a></li> <li><a href="{{ url_for('pages', page='hardware') }}">Hardware</a></li> </ul> </li> <li onmouseover="over(this)" onmouseleave="leave(this)"> <a href="#" style="cursor:default;">Human Practices</a> <ul class="son"> <li><a href="{{ url_for('pages', page='human-practices') }}">Communication</a></li> <li><a href="{{ url_for('pages', page='education') }}">Education</a></li> <li><a href="{{ url_for('pages', page='inclusivity') }}">Inclusivity</a></li> </ul> </li> <li onmouseover="over(this)" onmouseleave="leave(this)"> <a href="#" style="cursor:default;">Team</a> <ul class="son"> <li><a href="{{ url_for('pages', page='team') }}">Roster</a></li> <li><a href="{{ url_for('pages', page='attributions') }}">Attributions</a></li> <li><a href="{{ url_for('pages', page='tryhomepage') }}">Try</a></li> <li><a href="{{ url_for('pages', page='random') }}">ran</a></li> </ul> </li> </ul> </nav> <script> function over(el){ el.children[0].classList.add('active'); if (el.children.length > 1){ let son = el.children[1]; if (getComputedStyle(son,null)["display"]=="none"){ son.style.display = "block"; setTimeout(function(){ son.style.opacity = 1; }, 10); } } } function leave(el){ el.children[0].classList.remove('active'); if (el.children.length > 1){ let son = el.children[1]; if (getComputedStyle(son,null)["display"]=="block"){ son.style.opacity = 0; setTimeout(function(){ son.style.display = "none"; }, 300); } } } // 修改菜单切换功能 function toggleMenu(){ var navbar = document.getElementById('my-navbar'); navbar.classList.toggle('show-menu'); } var navItems = document.querySelectorAll('.my-navbar > li'); navItems.forEach(function(item){ item.addEventListener('click', function(e){ if(window.innerWidth <= 768){ e.preventDefault(); this.classList.toggle('show'); } }); }); window.addEventListener('resize', function() { var navbar = document.getElementById('my-navbar'); if(window.innerWidth > 768){ navbar.classList.remove('show-menu'); navItems.forEach(function(item){ item.classList.remove('show'); }); } }); </script> </body> </html>