Skip to main content Skip to docs navigation
View on GitHub

CSS variables (CSS変数)

Bootstrap の CSS カスタムプロパティを使用して、高速かつ将来を見据えた設計と開発をしましょう。

Bootstrap には、コンパイルされた CSS に 20 以上のCSS カスタムプロパティ(変数)が含まれています。これらは、デベロッパーツール、コードサンドボックス、プロトタイピングのときに、テーマカラー、ブレイクポイント、フォントファミリーなどよく使う値に簡単にアクセスできます。

サードパーティ CSS との衝突を避けるため、全てのカスタムプロパティは bs- から始まっています

ルート変数

以下が Bootstrap の CSS をロードした場所なら使うことができる変数です(:root は必須です)。これらは dist ファイル内の _root.scss ファイル内に含まれています。

: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-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --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-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", 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));
}

コンポーネント変数

Bootstrap では様々なコンポーネントでローカル変数としてカスタムプロパティが使えるようになりました。これにより、コンパイル CSS を削減でき、テーブルのようにネストされた際にスタイルが継承されていないことを保証します。また Sass のコンパイル後にもコンポーネントの基本的なカスタマイズや拡張を行うこともできます。

Bootstrap での CSS 変数の使い方については、How do the variants and accented tables work? をご覧ください。

グリッド(主にガター)でも CSS 変数が使われています。また将来的にはより多くのコンポーネントで CSS 変数が使われる予定です。

CSS 変数は、Sass 変数と同様に柔軟に扱うことができますが、Sass とは異なりコンパイルする必要がありません。例えば、ページのフォントとリンクスタイルを CSS 変数にセットします。

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