跳到主要内容
输入关键词开始搜索,↑ ↓ 选择,Enter 打开
没有找到匹配的文档

配色方案

设置单个元素的配色方案,以控制浏览器如何绘制表单控件、滚动条和嵌入文档。

类名样式
.color-scheme-lightcolor-scheme: light;
.color-scheme-darkcolor-scheme: dark;
.color-scheme-autocolor-scheme: light dark;

color-scheme 属性告诉浏览器一个元素支持哪些配色方案。然后浏览器会将其自身的部分绘制成匹配的颜色。这包括原生表单控件、滚动条以及 <iframe> 背后的画布。

Bootstrap集合 color-scheme 为你。重启设置 light dark 开 :root,以及每个 data-bs-theme 值固定一个方案。当某个元素必须使用不同于页面其余部分的方案时,使用这些工具。

光与暗

添加 .color-scheme-light 或 .color-scheme-dark 来设置某个元素的方案。浏览器随后会将该元素的原生部分绘制成匹配的样式。下面的示例在深色主题中强制使用浅色日期选择器。

HTML
<div class="p-3 bg-body fg-body" data-bs-theme="dark">
  <label class="form-label" for="scheme-dark-date">Dark picker (inherited)</label>
  <input class="form-control mb-3" id="scheme-dark-date" type="date">
  <label class="form-label" for="scheme-light-date">Light picker</label>
  <input class="form-control color-scheme-light" id="scheme-light-date" type="date">
</div>

将类添加到需要它的元素上。不要将其添加到包装器上。

这些工具类还会更改元素及其子元素的 Bootstrap 颜色。我们使用 light-dark() 来解析我们的颜色标记,它会读取使用的 color-scheme。因此,在深色主题中,.color-scheme-light 包裹器会给其子元素的深色背景提供深色文本。这些工具类还会保持 --shadow-strength 不变,因此阴影保持父主题的强度。

使用 data-bs-theme 来切换整个子树,因为它同时设置颜色方案和阴影强度。有关更多信息,请阅读 颜色模式。

遵循系统偏好

添加.color-scheme-auto以使一个元素同时支持两种方案。然后,当data-bs-theme强制使用某个主题时,浏览器也会遵循该元素的系统偏好。

HTML
          <iframe class="color-scheme-auto" src="..."></iframe>
        

上面的警告在这里也适用。我们的颜色遵循此元素内的系统偏好,而不再是你强制的主题。

第三方嵌入

嵌入文档遵循系统偏好。它无法看到 data-bs-theme 父页面的属性。因此,重启会设置 color-scheme: light dark 在每个 <iframe>,它保持嵌入透明。阅读 重启 完整的解释。

一些第三方嵌入没有暗黑模式。当系统处于暗黑模式时,浏览器会在这样的嵌入后面绘制白色背景。在那个 iframe 上添加 .color-scheme-light 可以让背景再次变为透明。

HTML
          <iframe class="color-scheme-light" src="..."></iframe>
        

仅在嵌入内容没有暗模式时使用 .color-scheme-light。Safari 和 Firefox 将该值应用于嵌入的文档。拥有自身暗模式的嵌入内容则会显示为亮模式。

添加更多值

我们提供三个值,因为它们涵盖了上述情况。CSS 还有更多值,例如 normal 和 only light。我们不提供它们,因为在 <iframe> 上使用它们是有风险的。Safari 和 Firefox 会将它们应用于嵌入的文档并移除其暗模式,而 light 以更清晰的名称完成相同的工作。

使用 工具 API 添加你需要的值。重新声明三个默认值,因为你的组替换了我们的值:

SCSS
          // my-bootstrap.scss
@use "bootstrap/scss/bootstrap" with (
  $utilities: (
    "color-scheme": (
      property: color-scheme,
      class: color-scheme,
      values: (
        light: light,
        dark: dark,
        auto: light dark,
        normal: normal,
        only-light: only light
      )
    )
  )
);
        

这将 .color-scheme-normal 和 .color-scheme-only-light 添加到三个默认类别中。

CSS

Sass 工具 API

颜色方案工具在我们的工具 API 中声明于 scss/_utilities.scss。了解如何使用工具 API。

"color-scheme": (
  property: color-scheme,
  class: color-scheme,
  values: (
    light: light,
    dark: dark,
    auto: light dark,
  )
),