Close button

A generic close button for dismissing content like modals and alerts.

Example

Provide an option to dismiss or close a component with .btn-close. Default styling is limited, but highly customizable. Modify the Sass variables to replace the default background-image. Be sure to include text for screen readers, as we’ve done with aria-label.

Close button - 图1

html

  1. <button type="button" class="btn-close" aria-label="Close"></button>

Disabled state

Disabled close buttons change their opacity. We’ve also applied pointer-events: none and user-select: none to preventing hover and active states from triggering.

Close button - 图2

html

  1. <button type="button" class="btn-close" disabled aria-label="Close"></button>

Dark variant

Deprecated in v5.3.0

Heads up! As of v5.3.0, the .btn-close-white class is deprecated. Instead, use data-bs-theme="dark" to change the color mode of the close button.

Add data-bs-theme="dark" to the .btn-close, or to its parent element, to invert the close button. This uses the filter property to invert the background-image without overriding its value.

Close button - 图3

html

  1. <div data-bs-theme="dark">
  2. <button type="button" class="btn-close" aria-label="Close"></button>
  3. <button type="button" class="btn-close" disabled aria-label="Close"></button>
  4. </div>

CSS

Variables

Added in v5.3.0

As part of Bootstrap’s evolving CSS variables approach, close button now uses local CSS variables on .btn-close for enhanced real-time customization. Values for the CSS variables are set via Sass, so Sass customization is still supported, too.

scss/_close.scss

  1. --#{$prefix}btn-close-color: #{$btn-close-color};
  2. --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };
  3. --#{$prefix}btn-close-opacity: #{$btn-close-opacity};
  4. --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};
  5. --#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};
  6. --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};
  7. --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};
  8. --#{$prefix}btn-close-white-filter: #{$btn-close-white-filter};

Sass variables

scss/_variables.scss

  1. $btn-close-width: 1em;
  2. $btn-close-height: $btn-close-width;
  3. $btn-close-padding-x: .25em;
  4. $btn-close-padding-y: $btn-close-padding-x;
  5. $btn-close-color: $black;
  6. $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.414z'/></svg>");
  7. $btn-close-focus-shadow: $focus-ring-box-shadow;
  8. $btn-close-opacity: .5;
  9. $btn-close-hover-opacity: .75;
  10. $btn-close-focus-opacity: 1;
  11. $btn-close-disabled-opacity: .25;
  12. $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);