Button group
Button group(ボタングループ)は複数のボタンを1行にまとめます。
Basic example
.btn-group
で .btn
を含む一連のボタンを囲みます。
オプションとしてJavaScriptのラジオボタンとチェックボックスのスタイルの動作をプラグインで追加します。
<div class= "btn-group" role= "group" aria-label= "Basic example" >
<button type= "button" class= "btn btn-secondary" > Left</button>
<button type= "button" class= "btn btn-secondary" > Middle</button>
<button type= "button" class= "btn btn-secondary" > Right</button>
</div>
Ensure correct role
and provide a label
In order for assistive technologies (such as screen readers) to convey that a series of buttons is grouped, an appropriate role
attribute needs to be provided. For button groups, this would be role="group"
, while toolbars should have a role="toolbar"
.
In addition, groups and toolbars should be given an explicit label, as most assistive technologies will otherwise not announce them, despite the presence of the correct role attribute. In the examples provided here, we use aria-label
, but alternatives such as aria-labelledby
can also be used.
ボタングループのセットをツールバーに組み合わせて, 複雑なコンポーネントを作成できます。ユーティリティクラスで, グループ, ボタンなどを配置します。
<div class= "btn-toolbar" role= "toolbar" aria-label= "Toolbar with button groups" >
<div class= "btn-group mr-2" role= "group" aria-label= "First group" >
<button type= "button" class= "btn btn-secondary" > 1</button>
<button type= "button" class= "btn btn-secondary" > 2</button>
<button type= "button" class= "btn btn-secondary" > 3</button>
<button type= "button" class= "btn btn-secondary" > 4</button>
</div>
<div class= "btn-group mr-2" role= "group" aria-label= "Second group" >
<button type= "button" class= "btn btn-secondary" > 5</button>
<button type= "button" class= "btn btn-secondary" > 6</button>
<button type= "button" class= "btn btn-secondary" > 7</button>
</div>
<div class= "btn-group" role= "group" aria-label= "Third group" >
<button type= "button" class= "btn btn-secondary" > 8</button>
</div>
</div>
入力グループとツールバーのボタングループを自由に組み合わせてください。
適切に配置するにはユーティリティが必要です。
<div class= "btn-toolbar mb-3" role= "toolbar" aria-label= "Toolbar with button groups" >
<div class= "btn-group mr-2" role= "group" aria-label= "First group" >
<button type= "button" class= "btn btn-secondary" > 1</button>
<button type= "button" class= "btn btn-secondary" > 2</button>
<button type= "button" class= "btn btn-secondary" > 3</button>
<button type= "button" class= "btn btn-secondary" > 4</button>
</div>
<div class= "input-group" >
<div class= "input-group-prepend" >
<div class= "input-group-text" id= "btnGroupAddon" > @</div>
</div>
<input type= "text" class= "form-control" placeholder= "Input group example" aria-label= "Input group example" aria-describedby= "btnGroupAddon" >
</div>
</div>
<div class= "btn-toolbar justify-content-between" role= "toolbar" aria-label= "Toolbar with button groups" >
<div class= "btn-group" role= "group" aria-label= "First group" >
<button type= "button" class= "btn btn-secondary" > 1</button>
<button type= "button" class= "btn btn-secondary" > 2</button>
<button type= "button" class= "btn btn-secondary" > 3</button>
<button type= "button" class= "btn btn-secondary" > 4</button>
</div>
<div class= "input-group" >
<div class= "input-group-prepend" >
<div class= "input-group-text" id= "btnGroupAddon2" > @</div>
</div>
<input type= "text" class= "form-control" placeholder= "Input group example" aria-label= "Input group example" aria-describedby= "btnGroupAddon2" >
</div>
</div>
Sizing
ボタンのサイジングクラスをグループ内のボタンに適用するのではなく, グループに .btn-group
と .btn-group-*
を適用します。
Left
Middle
Right
Left
Middle
Right
Left
Middle
Right
<div class= "btn-group btn-group-lg" role= "group" aria-label= "..." > ...</div>
<div class= "btn-group" role= "group" aria-label= "..." > ...</div>
<div class= "btn-group btn-group-sm" role= "group" aria-label= "..." > ...</div>
Nesting
ドロップダウンとボタングループを組み合わせる場合は .btn-group
を別の .btn-group
内に配置します。
<div class= "btn-group" role= "group" aria-label= "Button group with nested dropdown" >
<button type= "button" class= "btn btn-secondary" > 1</button>
<button type= "button" class= "btn btn-secondary" > 2</button>
<div class= "btn-group" role= "group" >
<button id= "btnGroupDrop1" type= "button" class= "btn btn-secondary dropdown-toggle" data-toggle= "dropdown" aria-haspopup= "true" aria-expanded= "false" >
Dropdown
</button>
<div class= "dropdown-menu" aria-labelledby= "btnGroupDrop1" >
<a class= "dropdown-item" href= "#" > Dropdown link</a>
<a class= "dropdown-item" href= "#" > Dropdown link</a>
</div>
</div>
</div>
Vertical variation
ボタンを水平ではなく縦に積み重ねて表示させます。スプリットボタンのドロップダウンはここではサポートされていません。
Button
Button
Button
Button
Button
Button
Button
Button
Dropdown
Button
Button
Dropdown
Dropdown
Dropdown
<div class= "btn-group-vertical" >
...
</div>