多くの人がハンバーガーメニューを作るように反対に尋ねるのを見てきました決して表示されない、小さい画面サイズでも、簡単に見つける方法が見つかりません常にハンバーガーメニューを有効にします)。
これは、Visual Studio 2013 Webアプリケーションプロジェクトによって生成される標準のBootstrap 3構成を想定しているため、標準のVisual Studio MVC HTMLまたはBootstrap CSSは必要ありません。
<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", "Index", "Home", new { area = "" }, null)</li>
</ul>
</div>
</div>
</div>
明らかに、ASP.Net MVCを使用する場合、.Less
を使用するソリューションは完全に許容できるため、生のCSSへの回答を制限する必要はありません。最近の開発は、Bootstrap.lessをプロジェクトに追加することがNuGetを介して簡単になったことを意味します。実際、CSSのほとんどの単純な回答は、元のソースから最小限のCSSを再現するソリューションよりも保守性が低下します。
このCSSを使用して、Bootstrapのデフォルトのnavbar
動作を上書きできます。
.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,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
[〜#〜]更新[〜#〜]
この質問は最近変更され、LESSのタグが付けられました。 @cvrebertが最初に質問されたときに述べたように、LESSソースが使用されている場合、@grid-float-breakpoint
は大きな値に設定できます。
LESSの使用: http://www.codeply.com/go/UNFhTH5Hm
Bootstrap 4の更新
Bootstrap 4の場合、ナビゲーションバーの折りたたみブレークポイントを制御するために、新しいnavbar-expand-*
クラスが追加されました。 navbar-expand-*
クラスの1つが明示的に使用されていない限り、ナビゲーションバーは常に折りたたまれます。したがって、ハンバーガーを常に表示するには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>
ブートストラップ4: http://www.codeply.com/go/9WCE8jYmW8
@Skellyの解決策により、メニューを開いた直後にメニューが元に戻ることがわかりました。 (少なくとも、ナビの修正されていないバージョンでは)。だから私はいくつかのCSSを書きました:
(必要に応じてメディアクエリを削除または変更します)
@media screen and (max-width: 991px){
.navbar-default{
background:none;
border:0;
position:absolute;
top:15px;
right:15px;
}
.navbar-collapse{
background:#f5f5f5;
}
.navbar-collapse.collapse{
display: none!important;
height: 0!important;
padding-bottom: 0;
overflow: hidden!important;
}
.navbar-toggle.collapsed{
display:block!important;
}
.navbar-toggle{
display:block!important;
}
.navbar-collapse.collapse.in{
display:block!important;
height:auto!important;
overflow:visible!important;
}
.navbar-nav>li,.navbar-header{
float:none;
}
.navbar-default .navbar-toggle.collapsed{
background:#fff;
}
}
LESSファイルを変更したくない場合は、再コンパイルしてください。