跳至主要内容 跳至文档导航

一个通用关闭按钮,用于关闭模态框和警报等内容。

示例

使用 .btn-close 提供关闭或关闭组件的选项。默认样式有限,但可高度自定义。修改 Sass 变量以替换默认的 background-image务必包含屏幕阅读器的文本,就像我们使用 aria-label 所做的那样。

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

禁用状态

禁用的关闭按钮会更改其 opacity。我们还应用了 pointer-events: noneuser-select: none 以防止悬停和活动状态触发。

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

深色变体

在 v5.3.0 中弃用
注意!从 v5.3.0 开始,.btn-close-white 类已弃用。相反,使用 data-bs-theme="dark" 更改关闭按钮的颜色模式。

data-bs-theme="dark" 添加到 .btn-close 或其父元素,以反转关闭按钮。这使用 filter 属性反转 background-image,而不覆盖其值。

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

变量

在 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};
--#{$prefix}btn-close-white-filter: #{$btn-close-white-filter};

Sass 变量

$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.414z'/></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-white-filter:     invert(1) grayscale(100%) brightness(200%);