CSS 変数
Bootstrap の CSS カスタム プロパティを使用して、迅速で将来を見据えた設計と開発を行います。
Bootstrap には、Sass を再コンパイルすることなくリアルタイムでカスタマイズできるように、コンパイル済みの CSS に多くのCSS カスタム プロパティ (変数)が含まれています。これらは、ブラウザーのインスペクター、コード サンドボックス、または一般的なプロトタイピングで作業するときに、テーマの色、ブレークポイント、プライマリ フォント スタックなどの一般的に使用される値に簡単にアクセスできるようにします。
すべてのカスタム プロパティには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
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 変数として含めていますが (を除く)、 CSS 変数はメディア クエリでは機能しないxs
ことに注意してください。これは、変数の CSS 仕様の設計によるものですが、変数のサポートにより、今後数年間で変更される可能性があります。役立つリンクについては、このスタック オーバーフローの回答をご覧ください。それまでは、これらの変数を他の CSS の状況や JavaScript で使用できます。env()