Bootstrap响应式Navbar问题:移动端展开后最大化窗口桌面导航不显示
导航栏适配Bug求助
问题说明
我用Bootstrap模板做了PC和移动端适配的导航栏,现在碰到一个Bug:当移动端导航栏处于展开状态时,把浏览器窗口最大化(切换到PC视图),移动端导航栏正常隐藏了,但PC端的导航栏却不显示。不确定修复这个问题是否需要JavaScript,如果需要的话我可以提供相关代码。
CSS代码
/** * Desktop Navigation */ .navbar { padding: 0; } .navbar ul { margin: 0; padding: 0; display: flex; list-style: none; align-items: center; } .navbar li { position: relative; } .navbar a, .navbar a:focus { display: flex; align-items: center; justify-content: space-between; padding: 10px 0 10px 30px; font-size: 15px; font-weight: 500; color: #751D41; white-space: nowrap; transition: 0.3s; } .navbar a.active { color: #751D41} .navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover>a { color: #402D85; } .navbar .getintouch, .navbar .getintouch:focus { padding: 8px 20px; margin-left: 30px; border-radius: 50px; color: #751D41; font-size: 14px; border: 2px solid #751D41; font-weight: 600; } .navbar .getintouch:hover, .navbar .getintouch:focus:hover { color: #fff; background: #751D41; } /** * Mobile Navigation */ .navbar-mobile { display: none; } .mobile-nav-toggle { color: #fff; font-size: 28px; cursor: pointer; display: none; line-height: 0; transition: 0.5s; } .mobile-nav-toggle.bi-x { color: #fff; } @media (max-width: 991px) { .mobile-nav-toggle { display: block; } .navbar ul { display: none; } .navbar-mobile { display: block; position: fixed; overflow: hidden; top: 55px; right: 20px; left: 10; bottom: 150px; transition: 0.3s; z-index: 999; } } .navbar-mobile .mobile-nav-toggle { position: absolute; top: 15px; right: 15px; } .navbar-mobile ul { display: block; top: 55px; right: 15px; bottom: 15px; left: 15px; padding: 10px 0; border-radius: 10px; background: rgba(253, 110, 110, 0.5); overflow-y: auto; transition: 0.3s; } .navbar-mobile a, .navbar-mobile a:focus { padding: 10px 20px; font-size: 14px; color: white; } .navbar-mobile a:hover, .navbar-mobile .active, .navbar-mobile li:hover>a { color: #751D41; } .navbar-mobile .getintouch, .navbar-mobile .getintouch:focus { margin: 15px; color: #402D85; }
HTML代码
<!-- ======= Header ======= --> <header id="header" class="fixed-top "> <div class="container d-flex align-items-center"> <a href="#hero" class="logo me-auto"><img src="assets/img/navLogo.png" alt="" class="img-fluid"></a> <nav id="navbar" class="navbar"> <ul> <li><a class="nav-link scrollto" href="#hero">Home</a></li> <li><a class="nav-link scrollto" href="#hero">About Us</a></li> <li><a class="nav-link scrollto" href="#hero">Our Team</a></li> <li><a class="nav-link scrollto" href="#hero">Our Offers</a></li> <li><a class="nav-link scrollto" href="#hero">Projects</a></li> <li><a class="nav-link scrollto" href="#hero">Careers</a></li> <li><a class="getintouch scrollto" href="#hero">Get In Touch</a></li> </ul> <i class="bi bi-list mobile-nav-toggle"></i> </nav><!-- .navbar --> </div> </header><!-- End Header -->
问题截图
- 移动端导航栏展开状态:

- 窗口最大化后:

- PC端导航栏未显示:

内容的提问来源于stack exchange,提问作者saba tananashvili
相关产品推荐
相关产品推荐

