Bootstrap导航栏布局错乱求助:如何修复显示异常的Navbar?
看你截图里的Navbar确实乱了,我帮你找了几个问题点,改完就能正常显示了:
- 颜色类冲突:你用了
navbar-dark(深色导航栏文字)搭配bg-light(浅色背景),这不仅会导致文字和背景对比度不够,Bootstrap的内置样式也会“打架”。把navbar-dark bg-light改成navbar-light bg-light(浅色导航栏配浅色背景)或者navbar-dark bg-dark(深色导航栏配深色背景)都可以,根据你想要的风格选就行。 - 列表项缺失必要类:第一个
<li>标签没有加nav-item类,Bootstrap的navbar-nav要求每个列表项都要有这个类才能正确排版,不然很容易出现布局错乱。 - 属性名有多余空格:你写的
data- toggle、aria- controls、aria- expanded里的属性名中间有空格,这会导致HTML属性直接失效,折叠按钮也没法正常工作,得把空格去掉改成data-toggle、aria-controls、aria-expanded。
下面是修正后的完整代码:
<nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Something else here</a> </div> </li> <li class="nav-item"> <a class="nav-link disabled" href="#">Disabled</a> </li> </ul> </div> </nav>
把这些修改应用后,你的Navbar应该就能正常显示成顶部样式了~
内容的提问来源于stack exchange,提问作者Rony M.
相关产品推荐
相关产品推荐

