鈕扣
將 Bootstrap 的自定義按鈕樣式用於表單、對話框等中的操作,並支持多種尺寸、狀態等。
Bootstrap 包含幾個預定義的按鈕樣式,每個樣式都有自己的語義用途,並添加了一些附加功能以進行更多控制。
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-secondary">Secondary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-light">Light</button>
<button type="button" class="btn btn-dark">Dark</button>
<button type="button" class="btn btn-link">Link</button>
向輔助技術傳達意義
使用顏色來添加含義僅提供視覺指示,不會傳達給輔助技術的用戶 - 例如屏幕閱讀器。確保由顏色表示的信息在內容本身(例如可見文本)中是顯而易見的,或者通過替代方式包含在內,例如隱藏在.sr-only
類中的附加文本。
這些.btn
類被設計為與<button>
元素一起使用。但是,您也可以在<a>
或<input>
元素上使用這些類(儘管某些瀏覽器可能會應用稍微不同的渲染)。
當在用於觸發頁面內功能(如折疊內容)的元素上使用按鈕類時<a>
,而不是鏈接到當前頁面中的新頁面或部分時,應給予這些鏈接role="button"
以適當地將其目的傳達給輔助技術,例如屏幕閱讀器。
<a class="btn btn-primary" href="#" role="button">Link</a>
<button class="btn btn-primary" type="submit">Button</button>
<input class="btn btn-primary" type="button" value="Input">
<input class="btn btn-primary" type="submit" value="Submit">
<input class="btn btn-primary" type="reset" value="Reset">
需要一個按鈕,但不需要它們帶來的大量背景顏色?將默認修飾符類替換.btn-outline-*
為刪除任何按鈕上的所有背景圖像和顏色的修飾符類。
<button type="button" class="btn btn-outline-primary">Primary</button>
<button type="button" class="btn btn-outline-secondary">Secondary</button>
<button type="button" class="btn btn-outline-success">Success</button>
<button type="button" class="btn btn-outline-danger">Danger</button>
<button type="button" class="btn btn-outline-warning">Warning</button>
<button type="button" class="btn btn-outline-info">Info</button>
<button type="button" class="btn btn-outline-light">Light</button>
<button type="button" class="btn btn-outline-dark">Dark</button>
喜歡更大或更小的按鈕?添加.btn-lg
或.btn-sm
用於其他尺寸。
<button type="button" class="btn btn-primary btn-lg">Large button</button>
<button type="button" class="btn btn-secondary btn-lg">Large button</button>
<button type="button" class="btn btn-primary btn-sm">Small button</button>
<button type="button" class="btn btn-secondary btn-sm">Small button</button>
通過添加.btn-block
.
<button type="button" class="btn btn-primary btn-lg btn-block">Block level button</button>
<button type="button" class="btn btn-secondary btn-lg btn-block">Block level button</button>
激活時,按鈕將顯示為按下狀態(背景較暗、邊框較暗和嵌入陰影)。無需向<button>
s 添加類,因為它們使用偽類。但是,如果您需要以編程方式複制狀態,您仍然可以強制使用.active
(並包含屬性)相同的活動外觀。aria-pressed="true"
<a href="#" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Primary link</a>
<a href="#" class="btn btn-secondary btn-lg active" role="button" aria-pressed="true">Link</a>
通過將disabled
布爾屬性添加到任何<button>
元素,使按鈕看起來不活動。
<button type="button" class="btn btn-lg btn-primary" disabled>Primary button</button>
<button type="button" class="btn btn-secondary btn-lg" disabled>Button</button>
使用該元素的禁用按鈕的<a>
行為有點不同:
<a>
s 不支持該disabled
屬性,因此您必須添加.disabled
該類以使其在視覺上顯示為禁用。- 包括一些對未來友好的樣式以禁用所有
pointer-events
錨按鈕。在支持該屬性的瀏覽器中,您根本不會看到禁用的光標。 - 禁用的按鈕應包含
aria-disabled="true"
向輔助技術指示元素狀態的屬性。
<a href="#" class="btn btn-primary btn-lg disabled" role="button" aria-disabled="true">Primary link</a>
<a href="#" class="btn btn-secondary btn-lg disabled" role="button" aria-disabled="true">Link</a>
鏈接功能警告
該類.disabled
用於pointer-events: none
嘗試禁用<a>
s 的鏈接功能,但該 CSS 屬性尚未標準化。此外,即使在支持 的瀏覽器中pointer-events: none
,鍵盤導航也不受影響,這意味著有視力的鍵盤用戶和輔助技術用戶仍然能夠激活這些鏈接。所以為了安全起見,tabindex="-1"
在這些鏈接上添加一個屬性(以防止它們接收鍵盤焦點)並使用自定義 JavaScript 來禁用它們的功能。
用按鈕做更多事情。控制按鈕狀態或為更多組件(如工具欄)創建按鈕組。
添加data-toggle="button"
以切換按鈕的active
狀態。如果您要預先切換按鈕,則必須手動將.active
類添加到 .aria-pressed="true"
<button>
<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off">
Single toggle
</button>
Bootstrap 的.button
樣式可以應用於其他元素,例如<label>
s,以提供複選框或單選樣式按鈕切換。添加data-toggle="buttons"
到.btn-group
包含那些修改過的按鈕以通過 JavaScript 啟用它們的切換行為並添加以設置按鈕中的 s.btn-group-toggle
樣式。請注意,您可以創建單個輸入供電的按鈕或它們的組。<input>
這些按鈕的選中狀態僅通過按鈕上的事件更新click
。如果您使用另一種方法來更新輸入——例如,使用<input type="reset">
或通過手動應用輸入的checked
屬性——您將需要手動切換.active
。<label>
請注意,預先選中的按鈕需要您手動將.active
類添加到輸入的<label>
.
<div class="btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary active">
<input type="checkbox" checked autocomplete="off"> Checked
</label>
</div>
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary active">
<input type="radio" name="options" id="option1" autocomplete="off" checked> Active
</label>
<label class="btn btn-secondary">
<input type="radio" name="options" id="option2" autocomplete="off"> Radio
</label>
<label class="btn btn-secondary">
<input type="radio" name="options" id="option3" autocomplete="off"> Radio
</label>
</div>
方法 | 描述 |
---|---|
$().button('toggle') |
切換推送狀態。使按鈕具有已激活的外觀。 |
$().button('dispose') |
銷毀元素的按鈕。 |