前言
按鈕群組是什麼?就是把眾多按鈕集結起來,像閻羅王給你的那台機器一樣,所以「 按陰陽、按陰陽、按陰陽 」也可以是個按鈕群組元件喔!( 可以先觀看 F2E合作社|按鈕元件|Bootstrap 5 網頁框架開發入門 再來複習此單元,而且這樣才可以看得懂這個哏哈哈哈 )
( 圖片來源 )
官方網站的 Button group 頁面
將一系列按鈕組合在一行上,或是將它們堆疊成垂直的欄。
基本按鈕群組
將一系列帶有 .btn 的按鈕用 .btn-group
包裝。
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">Left</button>
<button type="button" class="btn btn-primary">Middle</button>
<button type="button" class="btn btn-primary">Right</button>
</div>
確保 role 正確,並提供標籤
為了讓輔助性技術( 像是螢幕閱讀器 )能夠傳達按鈕群組的訊息,需要提供一個適當的 role 屬性。以按鈕群組來說,這個屬性將會是
role="group"
,而按鈕工具列則應帶有role="toolbar"
。
此外,應該給予按鈕群組和工具列明確的標籤,因為儘管正確的 role 屬性存在,大多數輔助性技術不會明確呈現他們。在這裡提供的例子中,我們使用aria-label
,但也可以使用如aria-labelledby
等替代方案。
這些類別也可以被添加到連結群組中,以替代導覽和頁籤元件。
<div class="btn-group">
<a href="#" class="btn btn-primary active" aria-current="page">Active link</a>
<a href="#" class="btn btn-primary">Link</a>
<a href="#" class="btn btn-primary">Link</a>
</div>
混和樣式
<div class="btn-group" role="group" aria-label="Basic mixed styles example">
<button type="button" class="btn btn-danger">Left</button>
<button type="button" class="btn btn-warning">Middle</button>
<button type="button" class="btn btn-success">Right</button>
</div>
Outline 樣式
<div class="btn-group" role="group" aria-label="Basic outlined example">
<button type="button" class="btn btn-outline-primary">Left</button>
<button type="button" class="btn btn-outline-primary">Middle</button>
<button type="button" class="btn btn-outline-primary">Right</button>
</div>
核取方塊和選項按鈕群組
將類似按鈕的核取方塊和選項切換按鈕組合到一個無縫外觀的按鈕群組。
checkbox
<div class="btn-group" role="group" aria-label="Basic checkbox toggle button group">
<input type="checkbox" class="btn-check" id="btncheck1" autocomplete="off">
<label class="btn btn-outline-primary" for="btncheck1">Checkbox 1</label>
<input type="checkbox" class="btn-check" id="btncheck2" autocomplete="off">
<label class="btn btn-outline-primary" for="btncheck2">Checkbox 2</label>
<input type="checkbox" class="btn-check" id="btncheck3" autocomplete="off">
<label class="btn btn-outline-primary" for="btncheck3">Checkbox 3</label>
</div>
radio
<div class="btn-group" role="group" aria-label="Basic radio toggle button group">
<input type="radio" class="btn-check" name="btnradio" id="btnradio1" autocomplete="off" checked>
<label class="btn btn-outline-primary" for="btnradio1">Radio 1</label>
<input type="radio" class="btn-check" name="btnradio" id="btnradio2" autocomplete="off">
<label class="btn btn-outline-primary" for="btnradio2">Radio 2</label>
<input type="radio" class="btn-check" name="btnradio" id="btnradio3" autocomplete="off">
<label class="btn btn-outline-primary" for="btnradio3">Radio 3</label>
</div>
按鈕工具列
將整組的按鈕群組加入到按鈕工具列中,以建立更複雜的組件,依照需求,使用通用類別將群組、按鈕等間隔開來。
<div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">
<div class="btn-group me-2" role="group" aria-label="First group">
<button type="button" class="btn btn-primary">1</button>
<button type="button" class="btn btn-primary">2</button>
<button type="button" class="btn btn-primary">3</button>
<button type="button" class="btn btn-primary">4</button>
</div>
<div class="btn-group me-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-info">8</button>
</div>
</div>
尺寸
不必將按鈕尺寸調整類別套用在群組內的每一個按鈕上,只需要在每個帶有 .btn-group 的元件加上 .btn-group-*
即可。
.btn-group-lg
<div class="btn-group btn-group-lg" role="group" aria-label="Basic outlined example">
<button type="button" class="btn btn-outline-primary">Left</button>
<button type="button" class="btn btn-outline-primary">Middle</button>
<button type="button" class="btn btn-outline-primary">Right</button>
</div>
.btn-group-sm
<div class="btn-group btn-group-sm" role="group" aria-label="Basic outlined example">
<button type="button" class="btn btn-outline-primary">Left</button>
<button type="button" class="btn btn-outline-primary">Middle</button>
<button type="button" class="btn btn-outline-primary">Right</button>
</div>
巢狀
當您想要下拉式功能表與按鈕群組混合時,只需要將 .btn-group 放在另一個 .btn-group 中即可。
<div class="btn-group" role="group" aria-label="Button group with nested dropdown">
<button type="button" class="btn btn-primary">1</button>
<button type="button" class="btn btn-primary">2</button>
<div class="btn-group" role="group">
<button id="btnGroupDrop1" type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</button>
<ul class="dropdown-menu" aria-labelledby="btnGroupDrop1">
<li><a class="dropdown-item" href="#">Dropdown link</a></li>
<li><a class="dropdown-item" href="#">Dropdown link</a></li>
</ul>
</div>
</div>
垂直變化
將一組按鈕垂直堆疊而不是水平呈現。此處不支援分割下拉式功能表。
<div class="btn-group-vertical" role="group" aria-label="Basic mixed styles example">
<button type="button" class="btn btn-danger">button</button>
<button type="button" class="btn btn-warning">button</button>
<button type="button" class="btn btn-success">button</button>
<button type="button" class="btn btn-primary">button</button>
<button type="button" class="btn btn-info">button</button>
<button type="button" class="btn btn-dark">button</button>
</div>