按钮组 | Button Group
按钮组
使用按钮组将一系列按钮分组在一行上,并通过 JavaScript 超级供电。
基本示例
在.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>
确保正确role并提供标签
为了帮助技术(如屏幕阅读器)传达一系列按钮被分组,需要提供适当的role
属性。对于按钮组,这将是role="group"
,而工具栏应该有一个role="toolbar"
。
另外,应该给组和工具栏一个明确的标签,因为尽管存在正确的角色属性,大多数辅助技术将不会公布它们。在这里提供的例子中,我们使用了aria-label
,但也可以使用例如aria-labelledby
的其他替代方法。
按钮工具栏
将多组按钮组组合到按钮工具栏中,以获取更复杂的组件。根据需要使用实用程序类来划分组,按钮等。
<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">
<span class="input-group-addon" id="btnGroupAddon">@</span>
<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">
<span class="input-group-addon" id="btnGroupAddon2">@</span>
<input type="text" class="form-control" placeholder="Input group example" aria-label="Input group example" aria-describedby="btnGroupAddon2">
</div>
</div>
大小
除了将按钮大小分类应用于组中的每个按钮,只需将其添加.btn-group-*
到每个.btn-group
按钮,包括嵌套多个组时的每个按钮。
<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>
嵌套
当你想要下拉菜单与一系列按钮混合在一起时,放置.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>
垂直变化
使一组按钮垂直堆叠而不是水平放置。此处不支持分组按钮下拉列表。
<div class="btn-group-vertical">
...
</div>