我看到很多人问相反,即使在小屏幕尺寸下也不会出现汉堡菜单,但我找不到如何轻松地始终启用汉堡菜单.
通常会出现:
这假设是一个标准的Bootstrap 3配置,由Visual Studio 2013 Web应用程序项目生成,因此您不需要标准的Visual Studio MVC HTML或Bootstrap CSS.
正如我希望它出现:
来自VS 2013 Web应用程序项目的生成的母版页
<div class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> @Html.ActionLink("ProjectName Here","Index","Home",null,new { @class = "navbar-brand hidden-xs" }) </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li>@Html.ActionLink("Home",new { area = "" },null)</li> </ul> </div> </div> </div>
更新:
显然,使用.Less的解决方案在使用ASP.Net MVC时是完全可以接受的,因此您不必限制原始CSS的答案.最近的发展意味着通过NuGet将Bootstrap.less添加到项目中变得微不足道.实际上,大多数简单的CSS答案都会因为从原始源再现最小css的任何解决方案而难以维护.
解决方法
您可以使用此CSS来覆盖Bootstrap的默认导航栏行为.
.navbar-header { float: none; } .navbar-left,.navbar-right { float: none !important; } .navbar-toggle { display: block; } .navbar-collapse { border-top: 1px solid transparent; Box-shadow: inset 0 1px 0 rgba(255,255,0.1); } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-collapse.collapse { display: none!important; } .navbar-nav { float: none!important; margin-top: 7.5px; } .navbar-nav>li { float: none; } .navbar-nav>li>a { padding-top: 10px; padding-bottom: 10px; } .collapse.in{ display:block !important; }
使用CSS:http://bootply.com/jXxt4Dc54A
UPDATE
这个问题最近被更改并标记为LESS.正如@cvrebert在最初询问问题时提到的那样,如果正在使用LESS源,则可以将@ grid-float-breakpoint设置为较大的值.
使用LESS:http://www.codeply.com/go/UNFhTH5Hm3
Bootstrap 4的更新
对于Bootstrap 4,添加了新的navbar-expand- *类来控制导航栏折叠断点.现在导航栏总是折叠,除非明确使用了navbar-expand- *类之一.因此,不需要更改CSS(或SASS变量)以使汉堡包始终显示.
<nav class="navbar navbar-light bg-light fixed-top"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsingNavbar1"> ☰ </button> <div class="navbar-collapse collapse" id="collapsingNavbar1"> <ul class="nav navbar-nav"> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> </ul> </div> </nav>
Bootstrap 4:http://www.codeply.com/go/9WCE8jYmW8