Bulma では、テーマは CSS 変数のコレクションです。
Bulma には 2 つのテーマがあります
light.scss
(必須)dark.scss
(オプション)
既定のテーマ
Bulma はすべての CSS 変数の既定値を必要としているため、/sass/themes/light.scss
にある既定のライトテーマが提供されています。
また、/sass/themes/dark.scss
にあるダークテーマも提供されています。
ファイル /sass/themes/_index.scss
は、2 つのテーマをそれぞれ 2 つの方法でインクルードします。
@media (prefers-color-scheme: $name)
メディアクエリを使用する[data-theme=$name]
HTML 属性と.theme-$name
CSS クラスセレクタを使用する
唯一の違いは、ライトテーマが最上位の :root
(html
要素と等価で、Web ページ上のすべての HTML 要素の祖先)でも定義されていることです。これにより、すべての CSS 変数に既定の値が設定されます。
このテーマの CSS 出力は次のようになります。
:root {
/* CSS Variables */
}
@media (prefers-color-scheme: light) {
:root {
/* CSS Variables */
}
}
@media (prefers-color-scheme: dark) {
:root {
/* CSS Variables */
}
}
[data-theme=light],
.theme-light {
/* CSS Variables */
}
[data-theme=dark],
.theme-dark {
/* CSS Variables */
}
カスタムテーマの作成
テーマの作成は、基本的に独自に CSS 変数を設定することです。カスタムテーマには次のものが必要です。
sunrise
などの名前:root
、[data-theme=sunrise]
、.theme-sunrise
またはそのうちのすべてなどのスコープ- 一連の CSS 変数とその新しい値
ブラウザーでのカスタマイズ
:root
スコープの下に CSS 変数を設定すると、Bulma の既定のテーマを上書きできます。これは、Sass または CSS で行うことができます。
CSS メソッドをテストするには、次の手順に従います。
ブラウザーのインスペクターを開きます

html
要素を選択します

--bulma-link-h
変数(リンクカラーの彩度)に新しい値を挿入します

サイドメニューの CSS ヘルパーセクションがどのように色を変えるかに注目してください。
