닫기 버튼
닫기 버튼 (Close button)
모달이나 알림 같은 콘텐츠를 닫을 때 쓰는 범용 닫기 버튼입니다.
출처: 문서
본문
예제 (Example)
.btn-close로 컴포넌트를 닫거나 해제하는 옵션을 제공하세요. 기본 스타일은 제한적이지만 커스터마이징은 자유롭습니다. Sass 변수를 수정해 기본 background-image를 대체할 수 있어요. 아래처럼 aria-label을 붙여 스크린 리더가 읽을 수 있는 텍스트를 꼭 포함하세요.
<button type="button" class="btn-close" aria-label="Close"></button>
비활성 상태 (Disabled state)
비활성 닫기 버튼은 투명도(opacity)가 바뀝니다. hover·active 상태가 트리거되지 않도록 pointer-events: none과 user-select: none도 적용해 두었습니다.
<button type="button" class="btn-close" disabled aria-label="Close"></button>
다크 변형 (Dark variant) — v5.3.0에서 폐기(Deprecated)
주의! v5.3.0부터 .btn-close-white 클래스는 폐기(더 이상 사용하지 않음)되었습니다. 대신 data-bs-theme="dark"를 사용해 닫기 버튼의 색상 모드를 바꾸세요.
.btn-close 또는 그 부모 요소에 data-bs-theme="dark"를 추가하면 닫기 버튼이 반전됩니다. 이는 filter 속성을 이용해 background-image의 값을 덮어쓰지 않고 반전시키는 방식입니다.
<div data-bs-theme="dark">
<button type="button" class="btn-close" aria-label="Close"></button>
<button type="button" class="btn-close" disabled aria-label="Close"></button>
</div>
CSS
변수 (Variables) — v5.3.0에서 추가
Bootstrap의 진화하는 CSS 변수 접근 방식에 따라, 닫기 버튼은 이제 .btn-close에 로컬 CSS 변수를 사용해 실시간 커스터마이징을 강화합니다. CSS 변수의 값은 Sass를 통해 설정되므로 Sass 커스터마이징도 여전히 지원됩니다.
--#{$prefix}btn-close-color: #{$btn-close-color};
--#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };
--#{$prefix}btn-close-opacity: #{$btn-close-opacity};
--#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};
--#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};
--#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};
--#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};
Sass 변수 (Sass variables)
$btn-close-width: 1em;
$btn-close-height: $btn-close-width;
$btn-close-padding-x: .25em;
$btn-close-padding-y: $btn-close-padding-x;
$btn-close-color: $black;
$btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>");
$btn-close-focus-shadow: $focus-ring-box-shadow;
$btn-close-opacity: .5;
$btn-close-hover-opacity: .75;
$btn-close-focus-opacity: 1;
$btn-close-disabled-opacity: .25;
$btn-close-filter: null;
$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); // Deprecated in v5.3.4