Skip to content
sumnail

dark themeの色を設定する方法

created at : 2024/07/16

VitePress

VitePressでは、dark modeのtoggleをデフォルトで使用することが出来ますが、dark modeの色を変更することも可能です。

方法

VitePressでdark themeの色を変更する方法をご紹介します。
以下のようにCSS変数を使って設定することができます。

css
:root {
  --sample-bg: #ffffff;
}

.dark {
  --sample-bg: #000000;
}

body {
  background-color: var(--sample-bg);
}

仕組み

toggleを切り替えると(darkモードにすると)、html要素に.darkクラスが追加されます。
lightモードにすると、.darkクラスが削除されます。

.darkクラスがある場合は、--sample-bgの値が.darkの時の色に上書きされるので色の切り替えができます。

サンプル

vue
<template>
  <v-btn class="sample">button</v-btn>
</template>
vue
<!-- :rootで設定するサンプルとしたいため、scopedは付けていない -->
<style>
:root {
  --sample-bg: red;
}

.dark {
  --sample-bg: blue;
}

.sample {
  background-color: var(--sample-bg);
}
</style>