跳到主要內容 跳到文檔導航
Check
in English

CSS 變量

使用 Bootstrap 的 CSS 自定義屬性進行快速和前瞻性的設計和開發。

在本頁面

Bootstrap 在其編譯後的 CSS 中包含許多CSS 自定義屬性(變量),用於實時自定義,無需重新編譯 Sass。當在瀏覽器的檢查器、代碼沙箱或一般原型設計中工作時,這些提供了對常用值的輕鬆訪問,例如我們的主題顏色、斷點和主要字體堆棧。

我們所有的自定義屬性都帶有前綴,bs-以避免與第三方 CSS 衝突。

根變量

以下是我們包含的變量(請注意,這:root是必需的),可以在加載 Bootstrap 的 CSS 的任何地方訪問。它們位於我們的_root.scss文件中,並包含在我們編譯的 dist 文件中。

:root {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #fff;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-link-color: #0d6efd;
  --bs-link-hover-color: #0a58ca;
  --bs-code-color: #d63384;
  --bs-highlight-bg: #fff3cd;
}

組件變量

Bootstrap 5 越來越多地使用自定義屬性作為各種組件的局部變量。通過這種方式,我們減少了編譯的 CSS,確保樣式不會在嵌套表等地方繼承,並允許在 Sass 編譯後對 Bootstrap 組件進行一些基本的重新設置和擴展。

查看我們的表格文檔,了解我們如何使用 CSS 變量。從 v5.2.0 開始,我們的導航欄也使用 CSS 變量。我們還在我們的網格中使用 CSS 變量——主要是為了裝訂新的可選 CSS 網格——未來會有更多的組件使用。

只要有可能,我們將在基本組件級別分配 CSS 變量(例如,.navbar導航欄及其子組件)。這減少了對自定義位置和方式的猜測,並允許我們的團隊在未來的更新中輕鬆修改。

字首

大多數 CSS 變量使用前綴來避免與您自己的代碼庫發生衝突。此前綴是--每個 CSS 變量所需的前綴。

$prefix通過Sass 變量自定義前綴。默認情況下,它設置為bs-(注意尾隨破折號)。

例子

CSS 變量提供了與 Sass 的變量類似的靈活性,但在提供給瀏覽器之前不需要編譯。例如,這裡我們使用 CSS 變量重置頁面的字體和鏈接樣式。

body {
  font: 1rem/1.5 var(--bs-font-sans-serif);
}
a {
  color: var(--bs-blue);
}

網格斷點

雖然我們將網格斷點包含為 CSS 變量(除了xs),但請注意CSS 變量在媒體查詢中不起作用。這是 CSS 規範中針對變量的設計,但未來幾年可能會隨著對env()變量的支持而改變。查看這個 Stack Overflow 答案以獲得一些有用的鏈接。同時,您可以在其他 CSS 情況以及 JavaScript 中使用這些變量。