ナビゲーション・バー Navbar
ウェブサイトやアプリケーションのナビゲーション・ヘッダーに最適なスタイル。
表示領域の幅が狭いモバイルなどには、メニューを非表示にし、メニュー表示を切り替えるためのボタンを表示する。メニューは縦に並べて表示する。
表示領域の幅が広いパソコンなどには、メニューを水平に表示する。
使い方
ポイントは6つ。
class
属性に、navbar navbar-default
を指定したnav
要素を用意する。nav
要素内に、class
属性にnavbar-header
を指定したdiv
要素と、collapse navbar-collapse
を指定したdiv
要素を配置する。- 2で
navbar-header
を指定したdiv
要素内に、button
要素とa
要素を配置する。 - 3で配置した
button
要素のclass
属性にnavbar-toggle collapsed
を指定、data-toggle
属性にcollapse
を指定する。更に、data-target
属性に、collapse navbar-collapse
を指定したdiv
要素のid
属性値(下記コードの場合navbarEexample
)を指定。 - 3で配置した
a
要素のclass
属性にnavbar-brand
を指定する。a
要素内には、ウェブサイトサイト名などのテキストを配置する。 - 2で
collapse navbar-collapse
を指定したdiv
要素には、id
属性を指定。要素内には、class
属性にnav navbar-nav
を指定したul
要素を配置する。ul
要素内に配置するli
要素とa
要素がメニュー項目となる。
<nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">タイトル</a> </div> <div class="collapse navbar-collapse" id="navbarEexample"> <ul class="nav navbar-nav"> <li class="active"><a href="#">メニューA</a></li> <li><a href="#">メニューB</a></li> <li><a href="#">メニューC</a></li> </ul> </div> </div> </nav>
基本
基本的使い方。
表示サンプル
ソースコード
<nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">タイトル</a> </div> <div class="collapse navbar-collapse" id="navbarEexample1"> <ul class="nav navbar-nav"> <li><a href="#">メニューA</a></li> <li class="active"><a href="#">メニューB</a></li> <li><a href="#">メニューC</a></li> </ul> </div> </div> </nav>
ブランド・イメージ
タイトル・テキストの代わりに、画像を使うこともできる。
表示サンプル
ソースコード
<nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample2"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#"> <img alt="Brand" src="brandImage.png" style="height: 20px;"> </a> </div> <div class="collapse navbar-collapse" id="navbarEexample2"> <ul class="nav navbar-nav"> <li><a href="#">メニューA</a></li> <li class="active"><a href="#">メニューB</a></li> <li><a href="#">メニューC</a></li> </ul> </div> </div> </nav>
フォーム
ナビゲーション・バー内に、フォーム(form
要素)を配置することもできる。
form
要素のclass
属性にnavbar-form
を指定する点に注意。
表示サンプル
ソースコード
<nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample3"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#"> タイトル </a> </div> <div class="collapse navbar-collapse" id="navbarEexample3"> <ul class="nav navbar-nav"> <li><a href="#">メニューA</a></li> <li class="active"><a href="#">メニューB</a></li> <li><a href="#">メニューC</a></li> </ul> <form class="navbar-form navbar-left" role="search"> <div class="form-group"> <input type="text" class="form-control" placeholder="検索キーワード"> </div> <button type="submit" class="btn btn-default">検索</button> </form> </div> </div> </nav>
ボタン
ナビゲーション・バー内に、ボタン(button
要素)を配置することもできる。
button
要素のclass
属性にnavbar-btn
を指定する点に注意。
表示サンプル
ソースコード
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample4">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">
タイトル
</a>
</div>
<div class="collapse navbar-collapse" id="navbarEexample4">
<ul class="nav navbar-nav">
<li><a href="#">メニューA</a></li>
<li class="active"><a href="#">メニューB</a></li>
<li><a href="#">メニューC</a></li>
</ul>
<button type="button" class="btn btn-default navbar-btn">Sign in</button>
</div>
</div>
</nav>
テキスト
ナビゲーション・バー内に、テキストを配置することもできる。
テキストは、class
属性にnavbar-text
を指定したp
要素で括る。
表示サンプル
ソースコード
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample5">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">
タイトル
</a>
</div>
<div class="collapse navbar-collapse" id="navbarEexample5">
<ul class="nav navbar-nav">
<li><a href="#">メニューA</a></li>
<li class="active"><a href="#">メニューB</a></li>
<li><a href="#">メニューC</a></li>
</ul>
<p class="navbar-text">ようこそ ゲスト さん。</p>
</div>
</div>
</nav>
テキストにリンクを貼る
class
属性にnavbar-text
を指定したp
要素内のテキストにリンク(a
要素)を貼ることもできる。
表示サンプル
ソースコード
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample6">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">
タイトル
</a>
</div>
<div class="collapse navbar-collapse" id="navbarEexample6">
<ul class="nav navbar-nav">
<li><a href="#">メニューA</a></li>
<li class="active"><a href="#">メニューB</a></li>
<li><a href="#">メニューC</a></li>
</ul>
<p class="navbar-text">ようこそ <a href="#" class="navbar-link">ゲスト</a> さん。</p>
</div>
</div>
</nav>
左寄せ、右寄せ
メニュー項目、フォーム、テキストなどは、左寄せ、右寄せを指定できる。
左寄せにする場合、class
属性にnavbar-left
を指定する。
右寄せにする場合、class
属性にnavbar-right
を指定する。
表示サンプル
ソースコード
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample7">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">
タイトル
</a>
</div>
<div class="collapse navbar-collapse" id="navbarEexample7">
<ul class="nav navbar-nav">
<li><a href="#">メニューA</a></li>
<li class="active"><a href="#">メニューB</a></li>
<li><a href="#">メニューC</a></li>
</ul>
<p class="navbar-text navbar-right">ようこそ <a href="#" class="navbar-link">ゲスト</a> さん。</p>
</div>
</div>
</nav>
トップ固定ナビゲーション・バー
nav
要素のclass
属性にnavbar-fixed-top
を追加すると、ナビゲーション・バーをトップに固定表示できる。
ナビゲーション・バーをトップに固定表示する場合、body { padding-top: 70px; }
のようにして、body
要素の上部に70px
程の余白を指定する必要がある。。
表示サンプル
ソースコード
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"data-toggle="collapse"data-target="#navbarEexample8">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">
タイトル
</a>
</div>
<div class="collapse navbar-collapse" id="navbarEexample8">
<ul class="nav navbar-nav">
<li><a href="#">メニューA</a></li>
<li class="active"><a href="#">メニューB</a></li>
<li><a href="#">メニューC</a></li>
</ul>
<p class="navbar-text navbar-right">ようこそ <a href="#" class="navbar-link">ゲスト</a> さん。</p>
</div>
</div>
</nav>
ボトム固定ナビゲーション・バー
nav
要素のclass
属性にnavbar-fixed-top
を追加すると、ナビゲーション・バーをボトムに固定表示できる。
ナビゲーション・バーをボトムに固定表示する場合、body { padding-bottom: 70px; }
のようにして、body
要素の下部に70px
程の余白を指定する必要がある。。
表示サンプル
ソースコード
<nav class="navbar navbar-default navbar-fixed-bottom">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"data-toggle="collapse"data-target="#navbarEexample9">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">
タイトル
</a>
</div>
<div class="collapse navbar-collapse" id="navbarEexample9">
<ul class="nav navbar-nav">
<li><a href="#">メニューA</a></li>
<li class="active"><a href="#">メニューB</a></li>
<li><a href="#">メニューC</a></li>
</ul>
<p class="navbar-text navbar-right">ようこそ <a href="#" class="navbar-link">ゲスト</a> さん。</p>
</div>
</div>
</nav>
トップ配置ナビゲーション・バー
nav
要素のclass
属性にnavbar-static-top
を追加すると、ナビゲーション・バーをトップにピッタリと隙間なく配置できる。固定表示ではないので、スクロールすると移動する。
表示サンプル
ソースコード
<nav class="navbar navbar-default navbar-static-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"data-toggle="collapse"data-target="#navbarEexample10">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">
タイトル
</a>
</div>
<div class="collapse navbar-collapse" id="navbarEexample10">
<ul class="nav navbar-nav">
<li><a href="#">メニューA</a></li>
<li class="active"><a href="#">メニューB</a></li>
<li><a href="#">メニューC</a></li>
</ul>
<p class="navbar-text navbar-right">ようこそ <a href="#" class="navbar-link">ゲスト</a> さん。</p>
</div>
</div>
</nav>
反転ナビゲーション・バー
nav
要素のclass
属性にnavbar navbar-inverse
を指定すると、ナビゲーション・バー外観を、色を反転させたかの様に変更する。
表示サンプル
ソースコード
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarEexample7">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">
タイトル
</a>
</div>
<div class="collapse navbar-collapse" id="navbarEexample7">
<ul class="nav navbar-nav">
<li><a href="#">メニューA</a></li>
<li class="active"><a href="#">メニューB</a></li>
<li><a href="#">メニューC</a></li>
</ul>
<p class="navbar-text navbar-right">ようこそ <a href="#" class="navbar-link">ゲスト</a> さん。</p>
</div>
</div>
</nav>