You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加z-index后双导航栏(navbar)响应式失效问题排查求助

Hey folks, I tried posting this issue earlier but didn’t provide enough details, so I’m back with a clearer breakdown of what’s going on.

My website has two navbars: one for main site navigation, and a second dedicated to the comics section. Both were fully responsive—collapsing into hamburger menus on mobile, expanding properly when toggled—until I added z-index properties to them. Now the responsive functionality is completely broken; the hamburger toggles don’t trigger menu expansion, and the navbars refuse to adjust correctly on smaller screens.

I’m almost certain the z-index changes are the culprit, but I can’t pinpoint exactly how they’re interfering with the responsive behavior. Below is the full HTML/PHP for the site header (containing both navbars) and the corresponding CSS that styles them, including the z-index values I added. Any help troubleshooting or fixing this would be a huge lifesaver!

HTML/PHP (Site Header)

<!-- Replace with your actual code; example structure provided -->
<header>
  <!-- Main Site Navbar -->
  <nav class="main-navbar">
    <div class="container">
      <a href="/" class="site-brand">My Website</a>
      <button class="main-toggle" aria-label="Toggle main navigation">☰</button>
      <div class="main-nav-links">
        <a href="/about">About</a>
        <a href="/blog">Blog</a>
        <a href="/contact">Contact</a>
      </div>
    </div>
  </nav>

  <!-- Comics Section Navbar -->
  <nav class="comics-navbar">
    <div class="container">
      <a href="/comics" class="comics-brand">Comics Library</a>
      <button class="comics-toggle" aria-label="Toggle comics navigation">☰</button>
      <div class="comics-nav-links">
        <a href="/comics/latest">Latest Issues</a>
        <a href="/comics/archive">Full Archive</a>
        <a href="/comics/series">Series List</a>
      </div>
    </div>
  </nav>
</header>

CSS for Navbars

/* Main Navbar Styles */
.main-navbar {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 1rem 0;
  background-color: #ffffff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  z-index: 1000; /* Added this z-index to keep it above content */
}

.main-navbar .main-toggle {
  display: none;
  border: none;
  background: transparent;
  font-size: 1.5rem;
  cursor: pointer;
}

.main-nav-links {
  display: flex;
  gap: 2rem;
}

@media (max-width: 768px) {
  .main-navbar .main-toggle {
    display: block;
  }

  .main-nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 1rem;
    background-color: #ffffff;
    flex-direction: column;
    gap: 1rem;
  }

  .main-nav-links.active {
    display: flex;
  }
}

/* Comics Navbar Styles */
.comics-navbar {
  position: sticky;
  top: 65px; /* Matches the height of the main fixed navbar */
  padding: 0.8rem 0;
  background-color: #f8f9fa;
  z-index: 999; /* Added this to layer it below the main navbar */
}

.comics-navbar .comics-toggle {
  display: none;
  border: none;
  background: transparent;
  font-size: 1.5rem;
  cursor: pointer;
}

.comics-nav-links {
  display: flex;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  .comics-navbar .comics-toggle {
    display: block;
  }

  .comics-nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 1rem;
    background-color: #f8f9fa;
    flex-direction: column;
    gap: 1rem;
  }

  .comics-nav-links.active {
    display: flex;
  }
}

A quick note: The JavaScript toggle functions (to add/remove the active class) were working perfectly before I added the z-index values. I’ve verified the media queries are targeting the correct screen sizes, and all other CSS properties are unchanged from when the responsiveness worked.

内容的提问来源于stack exchange,提问作者tmoflash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:36:27