Bulmaのナビゲーションバー Navbar [CSSフレームワーク]

Bulma ロゴ トップ バナー

WebアプリケーションやWebシステムでは、ページの上部や下部にナビゲーションバーを配置して、ユーザーの操作性を向上させます。

ブログなどのWebサイトでも、ヘッダーにナビゲーションバーに配置して、メインメニューとして使用できます。

Bulmaには、水平のナビゲーションバーを簡単に設置するためのクラスが用意されています。

今回は、ナビゲーションバーのスタイルを設定するnavbarクラスについて紹介します。

水平ナビゲーションバーを作成するnavbarクラス

Bulmaのnavbarクラスは、画像、リンク、ボタン、ドロップダウンなどをサポートできるレスポンシブな水平のナビゲーションバーをスタイリングすることができるクラスです。

navbarクラスは、ナビゲーションバーのメインコンテナクラスとなり、様々なアイテムを含むことができます。

navbarクラスとサブクラス

navbarクラスを使用したコンポーネントでは、メインクラスのnavbarといくつかのサブクラスで構成されます。

クラス 説明
navbar メインコンテナのクラスです。
navbar-brand ブランドを設置するクラスです。
このクラスは、常に左側(左端)に表示されます。
ロゴやリンク、アイコンなどを配置できます。
navbar-burger ハンバーガーメニューを設置するクラスです。
モバイル表示など、横幅が狭くナビゲーションバーのメニューアイテムが表示できない状態の時に使用できます。
navbar-menu ナビゲーションバーに配置するメニューのコンテナとなるクラスです。
navbar-start ブランドの横から表示されるナビゲーションバーの開始を示すクラスです。
navbar-end 最後に表示されるナビゲーションバーの終了を示すクラスです。
navbar-item ナビゲーションバーの(メニュー)アイテムのクラスです。
このクラスは主にa要素またはdiv要素に指定されます。
navbar-link ドロップダウンのリンクと矢印(ボタン)のクラスです。
navbar-dropdown ドロップダウンメニューのコンテナクラスです。
アイテム(navbar-item)と区切り線(navbar-divider)を含みます。
navbar-divider ドロップダウンメニューのアイテムの区切りを表す水平線のクラスです。

HTML

ブラウザーでの表示

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

画面の横幅が狭い場合(モバイル表示時)

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果
画面の幅が狭くなると、ナビゲーションバーガーが表示されます。

ナビゲーションバーガーを展開した状態

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

ブランドの配置

navbarクラスを指定した要素の配下には、navbar-brandクラスを指定してブランドが配置できます。

HTML

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

ナビゲーションバーガーの配置

navbarクラスを指定した要素の配下には、画面のサイズ(横幅)が縮小された際に表示されるナビゲーションバーガーを配置しておきます。
ナビゲーションバーガーには、navbar-burgerクラスを使用します。

HTML

navbar-burgerクラスを指定したa要素の子要素に配置しているspan要素は、ナビゲーションバーガーの三本線になります。

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

メニューの配置

navbarクラスを指定した要素の配下にnavbar-menuクラスを使用してナビゲーションメニューを配置します。

HTML

メニューの開始と終了

ナビゲーションメニューには、ナビゲーションバーの開始と終了を配置します。
開始ブロックにはnavbar-startクラスを指定し、終了ブロックにはnavbar-endクラスを指定します。

HTML

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

ナビゲーションの開始ブロックは左寄せで配置され、終了ブロックは右寄せで配置されます。

アイテムの配置

ブランドやメニュー内には、navbar-itemクラスを使用してアイテムを配置します。

HTML

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

ドロップダウン

メニューのアイテムには、ドロップダウンを配置することができます。
ドロップダウンは、has-dropdownクラスを指定することで配置できます。

HTML

has-dropdownクラスを指定したドロップダウンのアイテムには、is-hoverableクラスを指定することで、マウスホバー時にドロップダウンリストのアイテムを表示することができます。

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

ドロップダウンのアイテムは、navbar-itemクラスを指定して配置します。アイテムの区切り線が必要な場合は、navbar-dividerクラスを指定したhr要素を配置します。

ナビゲーションバーの作成例(実装例)

ここでは、Bulmaのnavbarクラスを使用したナビゲーションバーの作成例として簡単なUIを作成し、ナビゲーションバーガーがクリックされた時にメニューが表示されるようにする処理を実装します。

HTML

JavaScript

上記のサンプルコードをブラウザーで実行すると以下のように表示されます。

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

ブラウザーのサイズ(横幅)を狭くすると、ナビゲーションバーガーが表示されます。

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

ナビゲーションバーガーをクリックすると、JavaScriptで記述した処理によってメニューが展開され、アイテムが表示されます。

Bulmaのnavbarクラスとサブクラスの実装サンプルをブラウザーで実行した結果

Bulmaのnavbarクラスとそのサブクラスを使用することで、簡単にナビゲーションメニューが実装できます。
ナビゲーションメニューの実装は、スタイルの設定やJavaScriptでの制御など、いちから作成しようとすると結構手間がかかります。

Bulmaに用意されているクラスを使用することで実装がかなり楽になりますので、ぜひ活用してみてください。

Bulma 入門 Tips 一覧