.NET開発者のためのブログメディア
Bootstrap4を使ってWebページにタブを実装する方法
ここでは、Bootstrap4を使ってWebページにタブを実装する方法を紹介していきます。Bootstrap4では、より少ないコード量で使いやすいタブを作成することができます。ぜひ参考にしてみてください。
- PM
- Bootstrap4では、クラスに指定するだけでデフォルトのタブを設定したり、位置を変えることができるんですよ。
- SE
- 便利ですね!
ここではBootstrap4を導入している前提で進めていきます。導入していない方は、下記ページを参考にソースファイルをダウンロードするか、CDNから参照するようにしてください。
→ Bootstrap4を導入する
目次
シンプルなタブの作成方法
はじめに、よくWebサイトで見るようなシンプルなタブを作成していきます。
以下の手順に従ってください。
1. ulタグの中に作成したいタブの数のliタグを記述する
※各タブがリンクになるためaタグでも囲っておきます。
1
2
3
4
5
|
<ul>
<li><a>タブ1</a></li>
<li><a>タブ2</a></li>
<li><a>タブ3</a></li>
</ul>
|
2. Bootstrap4で定義されているクラスを指定する
ulタグのクラスに [nav nav-tabs] を指定すると、ulタグ内の要素がタブとして認識されます。各タブには [nav-item] クラスを指定しましょう。
1
2
3
4
5
|
<ul class="nav nav-tabs">
<li class="nav-item"><a>タブ1</a></li>
<li class="nav-item"><a>タブ2</a></li>
<li class="nav-item"><a>タブ3</a></li>
</ul>
|
3. タブ切り替え時にコンテンツが変わるようにする
タブをクリックしていくと表示されるコンテンツが切り替わるようにしたいので、まずは [nav-link] クラスでリンクを追加します。[active] を指定すると、サイトを開いたときに一番はじめに表示されます。リンク先はaタグのhref属性で指定します。(後述)
また、表示コンテンツを切り替えるためのJavaScript [data-toggle=”tab”] も記述しておきましょう。
1
2
3
4
5
6
7
8
9
10
11
|
<ul class="nav">
<li class="nav-item">
<a href="#contents1" class="nav-link active" data-toggle="tab">タブ1</a>
</li>
<li class="nav-item">
<a href="#contents2" class="nav-link" data-toggle="tab">タブ2</a>
</li>
<li class="nav-item">
<a href="#contents3" class="nav-link" data-toggle="tab">タブ3</a>
</li>
</ul>
|
では、ここまでをブラウザで確認してみましょう。
きちんとタブになっていますね。
また、[active] に設定したタブ1がデフォルトで選択された状態になっています。
最後に、各タブで表示されるコンテンツが切り替わるよう [contents1] から [contents3] までの内容を内に追記していきます。
1
2
3
4
5
6
7
8
9
10
11
|
<div class="tab-content">
<div id="contents1" class="tab-pane active">
<p>タブ1のコンテンツ</p>
</div>
<div id="contents2" class="tab-pane">
<p>タブ2のコンテンツ</p>
</div>
<div id="contents3" class="tab-pane">
<p>タブ3のコンテンツ</p>
</div>
</div>
|
このようにid指定していきます。
では、再度ブラウザで表示を確認していきましょう。
各タブで指定したコンテンツが表示されていますね。
以上で、シンプルなタブの作成は完了です。
タブのカスタマイズ
Bootstrapでは、少ないコード量でタブの配置やデザインを変更することもできます。
配置の変更
デフォルトは左寄せですが、中央寄せや右寄せにしたい場合はclass属性に以下のクラスを追加します。
- 中央寄せ…[justify-content-center]
- 右寄せ…[justify-content-end]
実際のソースコードは次のようになります。
<中央寄せ>
1
2
3
4
5
6
7
8
9
10
11
12
|
<!-- 中央寄せタブ -->
<ul class="nav nav-tabs justify-content-center">
<li class="nav-item">
<a href="#contents1" class="nav-link active" data-toggle="tab">タブ1</a>
</li>
<li class="nav-item">
<a href="#contents2" class="nav-link" data-toggle="tab">タブ2</a>
</li>
<li class="nav-item">
<a href="#contents3" class="nav-link" data-toggle="tab">タブ3</a>
</li>
</ul>
|
<右寄せ>
1
2
3
4
5
6
7
8
9
10
11
12
|
<!-- 右寄せタブ -->
<ul class="nav nav-tabs justify-content-end">
<li class="nav-item">
<a href="#contents1" class="nav-link active" data-toggle="tab">タブ1</a>
</li>
<li class="nav-item">
<a href="#contents2" class="nav-link" data-toggle="tab">タブ2</a>
</li>
<li class="nav-item">
<a href="#contents3" class="nav-link" data-toggle="tab">タブ3</a>
</li>
</ul>
|
デザインの変更
よくウェブサイトで見るような選択したら色付けされるようなタブは、クラス属性に [nab-pills] を追加することで実現できます。
1
2
3
4
5
6
7
8
9
10
11
|
<ul class="nav nav-tabs nav-pills">
<li class="nav-item">
<a href="#contents1" class="nav-link active" data-toggle="tab">タブ1</a>
</li>
<li class="nav-item">
<a href="#contents2" class="nav-link" data-toggle="tab">タブ2</a>
</li>
<li class="nav-item">
<a href="#contents3" class="nav-link" data-toggle="tab">タブ3</a>
</li>
</ul>
|
CSSで指定すればタブの色などのデザインも変更することができます。
1
2
3
4
5
6
|
<style>
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
color: white;
background-color: lightcoral;
}
</style>
|
- PM
- 他にも、タブを縦に並べたり画面いっぱいにタブを表示することもできるんですよ。もっと知りたい方はこちらのページを参考にしてみてくださいね。
- PG
- なるほど。便利ですね!
Bootstrap4を使って使いやすいタブを作成しよう
Bootstrap4では、よくウェブページで見かけるような一般的なタブはもちろん、配置やデザインをカスタマイズしてBootstrapっぽくないタブを作成することもできます。ぜひ活用し、使いやすいタブを作成してみてくださいね。
Search キーワード検索
Popular 人気の記事
-
.NET Framework 3.5をWindows10にインストールする方法
2019年10月24日 -
【VB.NET入門】DataGridViewの使い方まとめ
2019年12月22日 -
EdgeとChromeはどう違う?それぞれのスペック7つを比較解説!
2020年09月28日 -
VB.NETをおすすめする3つの理由とは?VBAとの違いや勉強方法を解説
2019年12月21日 -
Windows10のテキストエディタおすすめ20選!選ぶポイント3つ
2020年04月28日
reccomended おすすめ記事
-
C#のusingステートメントでリソースの解放【Disposeとの違いとは】
2020年03月17日 -
【SQL Serverログの操作】トランザクションログの使用量を確認する方法
2020年03月16日 -
【.NETが統合】.NET 5の概要と今後のリリース予定
2020年03月05日