Bootstrap - ナビバー:プロフェッショナルなウェブナビゲーションの門
こんにちは、未来のウェブ開発者たち!今日は、現代のウェブデザインで最も重要なコンポーネントの一つであるナビバーについて深く掘り下げます。あなたの近所の親切なコンピュータ教師として、私はブートストラップのナビバーの素晴らしい世界を案内するのを楽しみにしています。お気に入りの飲み物を用意し、リラックスした姿勢で、このコーディング冒険を一緒に楽しんでください!
仕組み
ナビバーの構築を始める前に、ナビバーとは何か、そしてどのように機能するかを理解しましょう。ナビバーはウェブサイトの地図のようなものです。ユーザーがあなたのデジタル創造物の中で迷わないように导航します。ブートストラップでは、ナビバーはResponsiveでデフォルトで折り畳まれるため、さまざまなスクリーンサイズに美しく対応します。素晴らしいですね?
基本的なナビバー
まずは基本的なナビバーから始めましょう。以下は簡単な例です:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">MyWebsite</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<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="#">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
</nav>
このコードを分解すると:
-
<nav>
要素とブートストラップのクラスで始めます。 -
navbar-brand
クラスはウェブサイト名やロゴに使用されます。 -
navbar-toggler
はモバイルビュー用で、有名な「ハンバーガー」メニューを作成します。 -
navbar-collapse
のdiv内には、ナビゲーションアイテムがリストに含まれます。
縦方向のナビバー
少し违ったものを試してみたいですか?縦方向のナビバーを試してみましょう:
<nav class="navbar navbar-light bg-light flex-column">
<a class="navbar-brand" href="#">Vertical Nav</a>
<nav class="nav flex-column">
<a class="nav-link active" href="#">Home</a>
<a class="nav-link" href="#">About</a>
<a class="nav-link" href="#">Services</a>
<a class="nav-link" href="#">Contact</a>
</nav>
</nav>
flex-column
クラスが横方向のナビバーを縦方向に変換します。クールですね?
中央寄せのナビバー
中央寄せ
すべてをきれいに整列させたい方に、ナビバー項目を中央寄せる方法です:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="navbar-nav mx-auto">
<a class="nav-item nav-link active" href="#">Home</a>
<a class="nav-item nav-link" href="#">About</a>
<a class="nav-item nav-link" href="#">Services</a>
<a class="nav-item nav-link" href="#">Contact</a>
</div>
</nav>
mx-auto
クラスは自動マージンを適用し、コンテンツを中央に寄せます。
ブランド
あなたのブランドはあなたのアイデンティティです。ブランドを輝かせる方法を見てみましょう:
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="#">
<img src="/path/to/logo.png" width="30" height="30" class="d-inline-block align-top" alt="">
Bootstrap
</a>
</nav>
このコードはロゴをブランド名の隣に追加します。d-inline-block
とalign-top
クラスはすべてがきれいに並ぶようにします。
テキスト
時々、ナビバーに普通のテキストが必要です:
<nav class="navbar navbar-light bg-light">
<span class="navbar-text">
Navbar text with an inline element
</span>
</nav>
navbar-text
クラスはテキストをナビバーの外観に合わせてスタイルを適用します。
画像とテキスト
画像とテキストを組み合わせて、より動的なナビバーを作成しましょう:
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="#">
<img src="/path/to/logo.png" width="30" height="30" class="d-inline-block align-top" alt="">
Bootstrap
</a>
<span class="navbar-text">
Welcome to our website!
</span>
</nav>
これにより、ロゴと迎賓メッセージが含まれるナビバーが作成されます。プロフェッショナルですね?
ナビ
nav
コンポーネントはナビバーの心臓部です。もっと複雑な例を見てみましょう:
<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="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<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>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
</nav>
この例にはアクティブなリンク、通常のリンク、無効なリンクが含まれています。sr-only
クラスはスクリーンリーダー用であり、アクセシビリティを向上させます。
リストなしのナビバー
よりシンプルな外観を目指す场合、ナビバーにリストを使用しない方法があります:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Home</a>
<a class="nav-item nav-link" href="#">Features</a>
<a class="nav-item nav-link" href="#">Pricing</a>
<a class="nav-item nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</div>
</nav>
リストタグを使用せずに同じ結果を達成します。
ドロップダウン
レベルアップしましょう。ナビバーにドロップダウンを追加します:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Home</a>
<a class="nav-item nav-link" href="#">Link</a>
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown link
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
</div>
</nav>
dropdown-toggle
クラスがドロップダウンエフェクトを作成し、dropdown-menu
とdropdown-item
がドロップダウンコンテンツをスタイルします。
フォーム
検索バーが必要ですか?問題ありません!ナビバーにフォームを追加する方法です:
<nav class="navbar navbar-light bg-light">
<form class="form-inline">
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</nav>
form-inline
クラスはフォーム要素を一行に並べます。
色のスキーム
ブートストラップはさまざまな色のスキームを提供しています。以下はダークなナビバーの例です:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">Dark Navbar</a>
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Home</a>
<a class="nav-item nav-link" href="#">Features</a>
<a class="nav-item nav-link" href="#">Pricing</a>
</div>
</nav>
navbar-light
をnavbar-dark
に、bg-light
をbg-dark
に変更するだけです。シンプル!
コンテナ
更好的配置,您可以将导航栏内容包装在一个容器中:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="#">Contained Navbar</a>
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Home</a>
<a class="nav-item nav-link" href="#">Features</a>
<a class="nav-item nav-link" href="#">Pricing</a>
</div>
</div>
</nav>
container
クラスはコンテンツを中央に寄せ、レスポンシブな固定幅を提供します。
配置
固定顶部
ナビバーを顶部に固定したい場合は以下のようにします:
<nav class="navbar fixed-top navbar-light bg-light">
<a class="navbar-brand" href="#">Fixed top</a>
</nav>
fixed-top
クラスはナビバーをページの顶部に固定します。
レスポンシブ行動
ブートストラップのナビバーはデフォルトでレスポンシブです。小さなスクリーンでは折り畳まれ、大きなスクリーンでは展開されます。鍵はnavbar-expand-*
クラスです:
<nav class="navbar navbar-expand-md navbar-light bg-light">
<!-- Navbar content -->
</nav>
このナビバーは中程度のスクリーンサイズ及以上で展開されます。
トグル
ナビバーのトグルはモバイルデバイス上の「ハンバーガー」メニューを作成します:
<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="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<!-- Navbar content -->
</div>
</nav>
navbar-toggler
ボタンはナビバーコンテンツの表示/非表示を制御します。
外部コンテンツ
ナビバーの外側でもコンテンツをトグルすることができます:
<nav class="navbar navbar-light bg-light">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
</nav>
<div class="collapse" id="navbarToggleExternalContent">
<div class="bg-dark p-4">
<h5 class="text-white h4">Collapsed content</h5>
<span class="text-muted">Toggleable via the navbar brand.</span>
</div>
</div>
これにより、ナビバーのブランド名を通じてトグル可能なコンテンツが作成されます。
オフキャンバス
最後に、オフキャンバスナビバーを見てみましょう:
<nav class="navbar navbar-light bg-light">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavbar" aria-controls="offcanvasNavbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasNavbar" aria-labelledby="offcanvasNavbarLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasNavbarLabel">Offcanvas</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<!-- Offcanvas content -->
</div>
</div>
</div>
</nav>
これにより、画面の側からスライドインするサイドバーが作成されます。
そして、皆さん!これでブートストラップのナビバーの世界を探り尽くしました。練習は完璧を追求するためですので、これらの例を試してみてください。ハッピーコーディング、そしてあなたのナビバーが常にユーザーを正しい方向に導くことを願っています!
メソッド | 説明 |
---|---|
.navbar() |
ナビバーコンポーネントを初期化します |
.collapse('toggle') |
ナビバーの折り畳みをトグルします |
.collapse('show') |
ナビバーの折り畳みを表示します |
.collapse('hide') |
ナビバーの折り畳みを非表示します |
.offcanvas('toggle') |
オフキャンバスナビバーをトグルします |
.offcanvas('show') |
オフキャンバスナビバーを表示します |
.offcanvas('hide') |
オフキャンバスナビバーを非表示します |
Credits: Image by storyset