平板视图中Navbar collapse异常及间距问题修复求助
Hey Beth, let's sort out this navbar problem you're facing on tablet views (like iPad Pro). After checking your code and the issue description, here are the key fixes to get things working smoothly:
1. Fix the Broken Navbar HTML Structure
First off, your collapsible menu container (collapse navbar-collapse) is nested inside the navbar-header div—and that's not how Bootstrap's navbar is supposed to be structured. This nesting is causing layout conflicts at medium viewport sizes.
Here's the corrected HTML structure for your navbar, with proper sibling placement for the header and collapsible menu:
<!--navigation bar--> <nav class="navbar navbar-default transparent navbar-static-top" role="navigation" id="navbar-main"> <div class="container"> <!-- Brand/logo row --> <div class="row"> <div class="col-sm-12"> <div class="row"> <div class="col-lg-12"> <a class="navbar-brand" href="http://patskailua.com/index.php"> <img src="http://patskailua.com/images/kailua-beach-properties-llc.png" alt="pats kailua hawaiian Flower" usemap="#Map" class="img-responsive"> </a> </div> </div> </div> </div> <!-- Navbar header & collapsible menu (siblings, not nested) --> <div class="navbar-header"> <div class="text-center"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navCollapse"> <span class="sr-only">Toggle Navigation</span> <span class="fa fa-chevron-down"></span> Menu </button> </div> </div> <div class="collapse navbar-collapse" id="navCollapse"> <ul class="nav navbar-nav navbar-right"> <li class="active goleft1"><a href="http://patskailua.com/wp/our-vacation-properties.php">vacation rentals</a></li> <li><a href="http://patskailua.com/wp/sightseeing.php">kailua activities</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">rentals by size<span class="caret black"></span></a> <ul class="dropdown-menu"> <li><a href="http://patskailua.com/wp/three-bedrooms.php">Three Bedrooms</a></li> <li><a href="http://patskailua.com/wp/two-bedrooms.php">Two Bedrooms</a></li> <li><a href="http://patskailua.com/wp/one-bedrooms.php">One Bedrooms</a></li> <li><a href="http://patskailua.com/wp/studios.php">Studios</a></li> </ul> </li> <li><a href="http://patskailua.com/wp/contact-us.php">contact us</a></li> <li><a href="http://patskailua.com/wp/about-us.php">about us</a></li> <li class="dropdown"> <a href="http://patskailua.com/wp/property-management.php" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">property management and sales<span class="caret black"></span></a> <ul class="dropdown-menu"> <li><a href="http://patskailua.com/wp/property-management.php">Property Management</a></li> <li><a href="http://patskailua.com/wp/buying-a-home-in-hawaii.php">Buying a Property</a></li> <li><a href="http://patskailua.com/wp/selling-a-home-in-hawaii.php">Selling a Property</a></li> <li class="goleft"><a href="http://patskailua.com/index.php">home</a></li> </ul> </li> </ul> </div> </div> </nav> <!--end nav bar-->
(Note: I also fixed a stray closing </li> tag in your dropdown menu that could have caused unexpected layout issues.)
2. Add Custom CSS for Tablet Viewports
Tablet sizes (especially iPad Pro's 1024px width) fall between Bootstrap's sm and lg breakpoints, so your custom classes like .goleft1 or .goleft might be adding unwanted margins/padding here. Add this media query to your stylesheet to target these viewports:
/* Adjust navbar for tablet viewports (768px to 1024px) */ @media (min-width: 768px) and (max-width: 1024px) { .navbar-default { padding: 0; /* Remove excess padding */ margin-bottom: 0; /* Fix unwanted bottom margin */ } .navbar-nav.navbar-right { margin: 0; /* Reset default right nav margins */ float: right !important; /* Ensure nav stays aligned right */ } .goleft1, .goleft { /* Override custom positioning that breaks layout */ float: none !important; margin-left: 0 !important; } /* Ensure dropdowns open correctly */ .dropdown-menu { left: auto; right: 0; /* Align dropdowns with parent links */ } }
3. Double-Check Bootstrap Dependency Order
Even though you mentioned adding transition.js and collapse.js, make sure your scripts are loaded in the correct order—jQuery must come first, since Bootstrap's JS plugins depend on it:
<!-- Load jQuery first --> <script src="path/to/your/jquery.min.js"></script> <!-- Then Bootstrap's JS (or individual plugins) --> <script src="path/to/your/bootstrap-transition.js"></script> <script src="path/to/your/bootstrap-collapse.js"></script>
Give these fixes a try—they should resolve the layout breakage, padding/margin issues, and restore proper navigation functionality on tablet views.
内容的提问来源于stack exchange,提问作者bethabernathy

