Bootstrap ボタン グループ
Bootstrap のボタン グループは、複数のボタンを一つにまとめて表示するコンポーネントです。これにより、関連するアクションを視覚的にグループ化し、ユーザーインターフェースをより整理されたものにすることができます。
基本用法:ボタンを並べて整理整頓
ボタングループを作成する基本的な方法は、.btn-group
クラスを使って複数のボタンをラップすることです。これにより、複数のボタンを一列に並べてグループ化できます。
アクセシビリティの考慮
ボタングループに role="group"
と aria-label
属性を追加することで、画面リーダーを使用するユーザーにもアクセス可能になります。
リンクボタン
.btn-group
は <a>
タグでも使用可能で、リンクボタンのグループを作成できます。
コード例:
<div class="btn-group" role="group" aria-label="基本的なボタングループ">
<button type="button" class="btn btn-primary">左</button>
<button type="button" class="btn btn-primary">中央</button>
<button type="button" class="btn btn-primary">右</button>
</div>
混合スタイル:ボタンの個性、多彩に
ボタングループでは、異なるスタイルのボタンを一緒に使用することも可能です。例えば、.btn-danger
、.btn-warning
、.btn-success
などを組み合わせることで、視覚的な変化をつけられます。
コード例:
<div class="btn-group" role="group" aria-label="混合スタイルのボタングループ">
<button type="button" class="btn btn-danger">危険</button>
<button type="button" class="btn btn-warning">警告</button>
<button type="button" class="btn btn-success">成功</button>
</div>
アウトラインスタイル:軽快でシンプルに
.btn-outline-*
クラスを使用すると、ボタングループに軽快なアウトラインスタイルを適用できます。これは、強調したいが重すぎないデザインに最適です。
コード例:
<div class="btn-group" role="group" aria-label="アウトラインスタイルのボタングループ">
<button type="button" class="btn btn-outline-primary">アウトライン1</button>
<button type="button" class="btn btn-outline-secondary">アウトライン2</button>
<button type="button" class="btn btn-outline-success">アウトライン3</button>
</div>
チェックボックスとラジオボタングループ:スイッチと選択機能
Bootstrapでは、チェックボックスやラジオボタンをボタングループに変換できます。.btn-check
を使用し、<label>
タグでボタンをラップすることで、スタイリッシュなスイッチや選択ボタンを作成できます。
コード例(ラジオボタングループ):
<div class="btn-group" role="group" aria-label="ラジオボタングループ">
<input type="radio" class="btn-check" name="options" id="option1" autocomplete="off" checked>
<label class="btn btn-outline-primary" for="option1">オプション1</label>
<input type="radio" class="btn-check" name="options" id="option2" autocomplete="off">
<label class="btn btn-outline-primary" for="option2">オプション2</label>
<input type="radio" class="btn-check" name="options" id="option3" autocomplete="off">
<label class="btn btn-outline-primary" for="option3">オプション3</label>
</div>
ボタンツールバー:複雑なレイアウトにも対応
複数のボタングループを一列に並べたい場合は、.btn-toolbar
クラスを使用してボタンツールバーを作成します。これにより、グループ化されたボタンを整理しながら並べられます。
コード例(入力フィールドを含むボタンツールバー):
<div class="btn-toolbar" role="toolbar" aria-label="ボタンツールバー">
<div class="btn-group me-2" role="group">
<button type="button" class="btn btn-primary">ボタン1</button>
<button type="button" class="btn btn-primary">ボタン2</button>
</div>
<div class="input-group">
<input type="text" class="form-control" placeholder="テキスト入力">
</div>
</div>
サイズ調整:一貫した大きさ、柔軟なコントロール
ボタングループのサイズは、.btn-group-lg
(大)や .btn-group-sm
(小)クラスを追加することで調整できます。個別のボタンにサイズクラスを付与するのではなく、ボタングループ全体に適用します。
コード例:
<div class="btn-group btn-group-lg" role="group" aria-label="大きいボタングループ">
<button type="button" class="btn btn-primary">大ボタン1</button>
<button type="button" class="btn btn-primary">大ボタン2</button>
</div>
<div class="btn-group btn-group-sm mt-3" role="group" aria-label="小さいボタングループ">
<button type="button" class="btn btn-primary">小ボタン1</button>
<button type="button" class="btn btn-primary">小ボタン2</button>
</div>
ネスト構造:ボタンとドロップダウンメニューの融合
ボタングループにドロップダウンメニューを組み込むことで、複雑な操作を簡単にまとめることができます。.dropdown-toggle
や .dropdown-menu
を使用してドロップダウンを作成します。
コード例:
<div class="btn-group" role="group" aria-label="ネストしたボタングループ">
<button type="button" class="btn btn-primary">ボタン1</button>
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
ドロップダウン
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">アクション1</a></li>
<li><a class="dropdown-item" href="#">アクション2</a></li>
</ul>
</div>
</div>
垂直配置:縦方向のレイアウトでスペースを有効活用
.btn-group-vertical
クラスを使用すると、ボタングループを垂直に配置できます。これにより、縦に並べることでスペースを効率的に使えます。ただし、分割されたドロップダウンメニューはサポートされていません。
コード例(垂直ボタングループ):
<div class="btn-group-vertical" role="group" aria-label="垂直ボタングループ">
<button type="button" class="btn btn-primary">上</button>
<button type="button" class="btn btn-primary">中央</button>
<button type="button" class="btn btn-primary">下</button>
</div>
これらの機能を組み合わせることで、Bootstrapのボタングループを使って、効率的でアクセシブルなUIを
構築することができます。各機能を柔軟に使用し、異なるレイアウトやスタイルのニーズに応じて最適なデザインを実現しましょう。
ボタン ツールバー
.btn-toolbar
クラスを使用すると、複数のボタン グループをまとめてツールバーとして配置できます。.btn-toolbar
クラス内には、複数の .btn-group
を配置することで、グループ化されたボタンを横並びに表示できます。
<div class="btn-toolbar" role="toolbar">
<div class="btn-group">
<button type="button" class="btn btn-secondary">編集</button>
<button type="button" class="btn btn-secondary">新規作成</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-danger">削除</button>
</div>
</div>
ボタン サイズ
.btn-group-lg
, .btn-group-sm
, .btn-group-xs
クラスを利用することで、ボタン グループ全体のサイズを変更できます。これらのクラスを .btn-group
に追加することで、大きい、小さい、さらに小さいボタン グループを作成できます。
クラス |
サイズ |
.btn-group-lg |
大きい |
.btn-group |
デフォルト |
.btn-group-sm |
小さい |
.btn-group-xs |
さらに小さい |
<div class="btn-group btn-group-lg">...</div>
<div class="btn-group">...</div>
<div class="btn-group btn-group-sm">...</div>
<div class="btn-group btn-group-xs">...</div>
ネストされたボタン ドロップダウンメニュー
ボタン グループの中にドロップダウンメニューをネストすることができます。これにより、複数の選択肢をコンパクトに表示することができます。
<div class="btn-group">
<button type="button" class="btn btn-info">アクション</button>
<button type="button" class="btn btn-info dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">アクション 1</a>
<a class="dropdown-item" href="#">アクション 2</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">別のアクション</a>
</div>
</div>
垂直方向に配置されたボタン グループ
.btn-group-vertical
クラスを使用すると、ボタン グループ内のボタンを垂直方向に並べて表示できます。これは、限られたスペースに複数のボタンを表示する際に便利です。
<div class="btn-group-vertical">
<button type="button" class="btn btn-success">上</button>
<button type="button" class="btn btn-success">中</button>
<button type="button" class="btn btn-success">下</button>
</div>
参考資料
よくある質問
Q1: ボタン グループ内のボタンの幅を調整するにはどうすればよいですか?
A1: ボタン グループ内のボタンは、デフォルトで等幅に調整されます。幅を個別に調整したい場合は、各ボタンに独自のクラスを追加し、CSS で幅を指定してください。
Q2: ドロップダウンメニューをボタン グループの外側に配置するにはどうすればよいですか?
A2: ドロップダウンメニューは、デフォルトでボタン グループの直下に配置されます。外側に配置したい場合は、ドロップダウンメニューに .dropup
, .dropright
, .dropleft
などのクラスを追加して、表示位置を調整してください。
Q3: ボタン グループを無効にすることはできますか?
A3: はい、ボタン グループ全体を無効にするには、.btn-group
要素に disabled
属性を追加します。これにより、グループ内のすべてのボタンが無効になります。