在 v5.3 中新增 在 GitHub 上檢視
焦點環
實用程式類別,可讓您新增和修改元素與元件的客製焦點環樣式。
在此頁面上
.focus-ring
輔助工具會移除 :focus
上的預設 outline
,並用可更廣泛自訂的 box-shadow
取代。新的陰影由繼承自 :root
層級的一系列 CSS 變數組成,可針對任何元素或元件進行修改。
範例
直接按一下下方的連結,即可看到焦點環的實際運作,或進入下方範例,然後按下 Tab。
<a href="#" class="d-inline-flex focus-ring py-1 px-2 text-decoration-none border rounded-2">
Custom focus ring
</a>
自訂
使用我們的 CSS 變數、Sass 變數、實用程式或自訂樣式修改焦點環的樣式。
CSS 變數
視需要修改 --bs-focus-ring-*
CSS 變數以變更預設外觀。
<a href="#" class="d-inline-flex focus-ring py-1 px-2 text-decoration-none border rounded-2" style="--bs-focus-ring-color: rgba(var(--bs-success-rgb), .25)">
Green focus ring
</a>
.focus-ring
透過全域 CSS 變數設定樣式,可如上所示覆寫任何父元素。這些變數是由其 Sass 變數對應項產生。
--#{$prefix}focus-ring-width: #{$focus-ring-width};
--#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};
--#{$prefix}focus-ring-color: #{$focus-ring-color};
預設情況下,沒有 --bs-focus-ring-x
、--bs-focus-ring-y
或 --bs-focus-ring-blur
,但我們提供 CSS 變數,以回退到初始 0
值。修改它們以變更預設外觀。
<a href="#" class="d-inline-flex focus-ring py-1 px-2 text-decoration-none border rounded-2" style="--bs-focus-ring-x: 10px; --bs-focus-ring-y: 10px; --bs-focus-ring-blur: 4px">
Blurry offset focus ring
</a>
Sass 變數
自訂焦點環 Sass 變數以修改在受 Bootstrap 支援專案中焦點環樣式的所有用法。
$focus-ring-width: .25rem;
$focus-ring-opacity: .25;
$focus-ring-color: rgba($primary, $focus-ring-opacity);
$focus-ring-blur: 0;
$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color;
Sass 實用程式 API
除了 .focus-ring
之外,我們還有幾個 .focus-ring-*
實用程式來修改輔助類別預設值。使用我們的任何 主題色彩 修改色彩。請注意,考量到目前的色彩模式支援,淺色和深色變體可能不會在所有背景色彩上可見。
<p><a href="#" class="d-inline-flex focus-ring focus-ring-primary py-1 px-2 text-decoration-none border rounded-2">Primary focus</a></p>
<p><a href="#" class="d-inline-flex focus-ring focus-ring-secondary py-1 px-2 text-decoration-none border rounded-2">Secondary focus</a></p>
<p><a href="#" class="d-inline-flex focus-ring focus-ring-success py-1 px-2 text-decoration-none border rounded-2">Success focus</a></p>
<p><a href="#" class="d-inline-flex focus-ring focus-ring-danger py-1 px-2 text-decoration-none border rounded-2">Danger focus</a></p>
<p><a href="#" class="d-inline-flex focus-ring focus-ring-warning py-1 px-2 text-decoration-none border rounded-2">Warning focus</a></p>
<p><a href="#" class="d-inline-flex focus-ring focus-ring-info py-1 px-2 text-decoration-none border rounded-2">Info focus</a></p>
<p><a href="#" class="d-inline-flex focus-ring focus-ring-light py-1 px-2 text-decoration-none border rounded-2">Light focus</a></p>
<p><a href="#" class="d-inline-flex focus-ring focus-ring-dark py-1 px-2 text-decoration-none border rounded-2">Dark focus</a></p>
焦點環實用程式在 scss/_utilities.scss
中的實用程式 API 中宣告。 瞭解如何使用實用程式 API。
"focus-ring": (
css-var: true,
css-variable-name: focus-ring-color,
class: focus-ring,
values: map-loop($theme-colors-rgb, rgba-css-var, "$key", "focus-ring")
),