タブ
業務アプリケーションで一度に多くの情報を表示させると、ユーザが使いづらいだけでなく、思わぬ操作ミスをおかしてしまうこともあります。そこで、まとまった情報ごとにコンテンツの切り替えをするときは、タブを使います。
基本のタブ
タブを作成するには、ul要素のclass属性に"nav"と"nav-tabs"を指定します。そしてul要素の子要素であるli要素のdata-toggle属性を"tab"に指定します。これでタブが作成できます。
タブをタップ/クリックしたときに表示されるコンテンツは、class属性に"tab-content"を指定したdiv要素内に配置します。次のサンプルでは、menu1~menu3までを定義したタブを作成しています。
なお、タブが切り替わるときに、フェードするアニメーションをつけたいときはコンテンツのclass属性に"fade"を指定します。また、任意のタブを選択状態にするには、class属性に"active"を指定します。なお、デフォルトで表示させるタブのコンテンツには、class属性に"in"を指定してください。
<!-- タブの表示 --> <ul class="nav nav-tabs"> <li class="active"><a href="#menu1" data-toggle="tab">登録</a></li> <li><a href="#menu2" data-toggle="tab">変更</a></li> <li><a href="#menu3" data-toggle="tab">削除</a></li> </ul> <!-- タブの本文 --> <div class="tab-content"> <div class="tab-pane fade in active" id="menu1">登録画面の本文</div> <div class="tab-pane fade" id="menu2">変更画面の本文</div> <div class="tab-pane fade" id="menu3">削除画面の本文</div> </div>
タブ幅を親コントロールいっぱいに表示したいときは、ul要素のclass属性に"nav-justified"を指定します。このようにすると、デバイスの幅に応じてタブのサイズを調整できます。
<!-- タブの表示 --> <ul class="nav nav-tabs nav-justified"> ~中略~ </ul> ~中略~
ピルナビゲーション
ピルナビゲーションを作成するには、ul要素のclass属性に"nav"と"nav-pills"を指定します。これによりボタンを配置したようなデザインのタブが作成できます。
<!-- ピルナビゲーションの表示 --> <ul class="nav nav-pills"> <li class="active"><a href="#">登録</a></li> <li><a href="#">変更</a></li> <li><a href="#">削除</a></li> </ul>
なお、ナビゲーションを縦に積み重ねたいときは、ul要素のclass属性に"nav-stacked"を追加します。
タブ/ピルナビゲーションの無効化
タブおよびピルナビゲーションのメニューを無効化するには、ul要素内のli要素のclass属性に"disabled"を指定します。これによりマウスのカーソルを近づけてもメニューがクリックできない状態になります。次の例は、ピルナビゲーションのメニューを無効化した例です。
<ul class="nav nav-pills nav-stacked"> <li class="active"><a href="#">登録</a></li> <li><a href="#">変更</a></li> <li class="disabled"><a href="#">削除</a></li> </ul>
おわりに
今回の記事では、雑多になりがちな業務アプリケーションのコンテンツを分かりやすく伝えるためのリスト/パネル/タブを説明しました。
次回は、モーダルダイアログやプログレスバーなどや、ユーザの可視性を高めるためのパンくずリスト/ラベル/バッジなどをご紹介します。