Bootstrap4のNavbar(ナビゲーションバー)コンポーネントの使い方を解説。
Webサイトのヘッダーとしてよく使われるNavbarコンポーネント。レスポンシブに対応しており、スマホではドロップダウンメニューに変わってくれます。
ここではNavbarの基本的な使い方と、サンプルコードをいくつか集めてみました。
Bootstrap4 Navbar(ナビゲーションバー)の基本的な使い方
Navbarはロゴを入れたり、水平なメニューコンテンツを入れることがほとんどで、ヘッダーとして使われることが多いコンポーネントです。
また、スマートフォンではメニューがドロップダウンで表示されるため、レスポンシブに対応したヘッダを簡単に作成できるのもポイント。
Navbarの基本構造
基本的には、ロゴと.collapse
部分に入れるナビゲーションコンテンツで作ります。
.collapse
に入れたコンテンツはスマートフォンでは非表示になり、ボタンで開閉することになります。
<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="#navbar-sample">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar-sample">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
</ul>
</div>
</nav>
Navbarで使えるClassとオプションまとめ
NavbarはCSSコンポーネントなので独自のオプションはありませんが、Navbar用にに最適化されたコンポーネントがあります。
Class一覧
Class名 | 説明 |
---|---|
.navbar |
navbarを定義 |
.navbar.navbar-expand-xx |
Navbarの開閉をどのポイントで行うかを定義、sm〜xlまである |
.navbar.navbar-light |
明るい背景用スタイル |
.navbar.navbar-dark |
暗い背景用スタイル |
.navbar.fixed-top |
画面上部に固定する |
.navbar.fixed-bottom |
画面下部に固定する |
.navbar.sticky-top |
画面上部に張り付く |
.navbar-brand |
Navbarに設置するロゴ |
.navbar-toggler |
スマホでNavbarメニューを開いたり閉じたりするボタン |
.collapse.navbar-collapse |
Navbarのコンテンツ部分を.navbar-expand-xx と連携して非表示にする |
.navbar-nav |
Navbar用に最適化された.nav |
.navbar-text |
Navbarに配置するテキスト |
オプション一覧
オプション名 | デフォルト | 説明 |
---|---|---|
data-toggle |
collapse | トグルボタンを定義 |
data-target |
#id | ボタンで開閉するコンテンツをidで指定 |
Navbarのカスタマイズサンプル
Navbarのカスタマイズといってもヘッダーとして使うことがほとんどなので、基本構造は変更せずCSSスタイルの修正がメインです。
Navbarのトグルボタンをカスタマイズ
トグルボタンはアイコンなので自由に変更可能。枠線もCSSスタイルで修正すればすっきりした見た目に。
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar w/ text</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<i class="material-icons">dehaze</i>
</button>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
</ul>
<span class="navbar-text">
Navbar text with an inline element
</span>
</div>
</nav>