내용으로 건너뛰기 문서 내비게이션으로 건너뛰기

포커스 링

요소와 컴포넌트에 사용자 지정 포커스 링 스타일을 추가하고 수정할 수 있는 유틸리티 클래스입니다.

.focus-ring 도우미는 :focus의 기본 outline을 제거하여 보다 광범위하게 사용자 정의할 수 있는 box-shadow로 대체합니다. 새 그림자는 :root 수준에서 상속된 일련의 CSS 변수로 구성되며, 모든 요소 또는 컴포넌트에 대해 수정할 수 있습니다.

예시

아래 링크를 직접 클릭하여 초점 링이 작동하는 모습을 보거나 아래 예시를 클릭한 다음 Tab 키를 누릅니다.

html
<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 변수를 수정하여 기본 모양을 변경할 수 있습니다.

html
<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는 없지만 초기 0 값에 대한 폴백이 있는 CSS 변수를 제공합니다. 기본 모양을 변경하려면 해당 변수를 수정하세요.

html
<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-* 유틸리티가 있습니다. 테마 색상 중 하나를 사용하여 색상을 수정하세요. 현재 색상 모드 지원으로 인해 모든 배경색에서 밝고 어두운 변형이 표시되지 않을 수 있습니다.

html
<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>

초점 링 유틸리티는 유틸리티 API의 scss/_utilities.scss에 선언되어 있습니다. 유틸리티 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")
),