コンポーネント(10): ナビゲーションバー
ナビゲーションバー用コンポーネント(部品一式)。
nav.navbar
(a|span).navbar-brand
nav.navbar
(a|span).navbar-brand.h1
(a|span).navbar-brand.h1.mb-0
属性
.h1
( タイポグラフィ - 見出し を参照).mb-0
(ヘッダ用マージン設定を除去)(a|span).navbar-brand
img
属性
href="..."
width="..."
height="..."
alt="..."
レスポンシブ動作するナビゲーションバーではナビゲーションとトグラーを組み合わせて用いる。トグラーで指定したブレークポイントより画面幅が小さくなるとバーに配置したナビゲーションアイテムが自動的に折り畳まれ、展開用アイコンを表示する。
ul
ベースのナビゲーションを使用div.navbar-nav
を用いる場合(DOM階層を1層低くできる)ナビゲーションバーの内部にインラインフォーム form.form-inline
を用いることができる。
.justify-content-between
を追加(⇒ Flexboxユーティリティ )
form.form-inline
div.input-group
ナビゲーションバー内部の通常テキストには span.navbar-text
を用いる。
テキスト配色と背景色の両方で設定する。
.navbar-(light|dark)
.navbar-light
: 明色背景用テキスト配色.navbar-dark
: 暗色背景用テキスト配色.bg-(primary|secondary|...)
style="backgroudnd-color: lightblue;"
nav.navbar.navbar-dark.bg-dark
nav.navbar.navbar-dark.bg-primary
nav.navbar.navbar-light
+属性 style="background-color: #e3f2fd;"
ナビゲーションバーをコンテナの外部(通常は body
のすぐ下)に配置すると画面幅いっぱいに表示する(次はその例)。
本ページのこれ以外のナビゲーションバーはすべてコンテナ div.container
の内側に設定している(レスポンシブ幅、中央揃え配置)。
次の例は表示は上とほぼ同じだが、画面幅がlg以上の時だけブランド表示の手前にパディングを多めに取る。これはナビゲーションバー内部にコンテナを用いた場合の特殊動作を説明するためのもの。
構造nav.navbar
.navbar-expand-lg
(lgブレークポイントで展開/折り畳み)div.container
デフォルト状態のコンテナは左右15pxずつのパディング(gutter)を設定するが、トグラー付きナビゲーションバーの内部にあるコンテナは折り畳み時にパディング(gutter)を除去する。
position: relative
position: fixed
position: fixed
position: sticky
nav.navbar
(ページと一緒にスクロールする)nav.navbar.fixed-top
⇒ デモページ
nav.navbar.fixed-bottom
⇒ デモページ
nav.navbar.sticky-top
⇒ デモページ
ナビゲーションバーはトグラーを使ってレスポンシブ動作を行う。
nav.navbar.navbar-light.bg-light
属性
.navbar-expand-md
(mdブレークポイントで展開/折り畳み)a.navbar-brand ...
button.navbar-toggler
(折り畳み時に表示) 属性
type="button"
data-toggle="collapse"
data-target="#toggler-demo"
(折り畳みラッパーを設定)aria-controls="toggler-demo"
aria-expanded="false"
aria-label="Toggle navigation"
span.navbar-toggler-icon
div.collapse.navbar-collapse
(展開時に表示) 属性
トグラーのブレークポイント設定は .navbar-expand-(sm|md|lg|xl)
を用いるが、常に展開したままにする場合は代わりに .navbar-expand
を用いる。次の例は上の基本例と同じだが .nabvar-expand-md
を .nabvar-expand
に変えただけのもの(折り畳まない)。
トグラーを使ってバーの外にあるコンテントの折り畳みも行うことができる。
構造div.collapse
属性
id="{wrapper-id}"
div.bg-dark.p-4
nav.navbar.navbar-dark.bg-dark
(常に畳み込み状態)
button.navbar-toggler
属性
type="button"
data-toggle="collapse"
data-target="#{wrapper-id}"
span.navbar-toggler-icon