Skip to content
Souloss
Go back

自定义 astro-minimax 主题配色方案

如何启用/禁用明暗模式,以及自定义 astro-minimax 主题的配色方案。

教程/配置 |
更新于:
| 2 分钟阅读 | 551 字

本文将解释如何为网站启用/禁用明暗模式。此外,你将学习如何自定义整个网站的配色方案。

Table of contents

Open Table of contents

启用/禁用明暗模式

astro-minimax 主题默认包含明暗模式。换句话说,将有两种配色方案,一种用于亮色模式,另一种用于暗色模式。可以在 SITE 配置对象中禁用此默认行为。

要禁用 明暗模式,请将 SITE.lightAndDarkMode 设置为 false

选择初始配色方案

默认情况下,如果我们禁用 SITE.lightAndDarkMode,我们将只获得系统的 prefers-color-scheme。

因此,要选择初始配色方案而不是 prefers-color-scheme,我们需要在 theme.tsinitialColorScheme 变量中设置配色方案。

initialColorScheme 变量可以有两个值,"light""dark"。如果你不想指定初始配色方案,可以保留空字符串(默认)。

为什么 initialColorScheme 不在 config.ts 中? 为了避免页面重新加载时的颜色闪烁,我们必须在页面加载时尽早放置主题初始化 JavaScript 代码。主题脚本分为两部分:`` 中设置主题的最小内联脚本,以及异步加载的完整脚本。这种方法可以防止 FOUC(无样式内容闪烁),同时保持最佳性能。

自定义配色方案

astro-minimax 主题的明暗配色方案都可以在 global.css 文件中自定义。

在 astro-minimax 主题中,:roothtml[data-theme="light"] 选择器定义亮色配色方案,而 html[data-theme="dark"] 定义暗色配色方案。

要自定义你自己的配色方案,请在 :root, html[data-theme="light"] 中指定你的亮色颜色,在 html[data-theme="dark"] 中指定你的暗色颜色。

以下是颜色属性的详细说明。

Color Property定义与用法
--background网站的主颜色。通常是主要背景。
--foreground网站的次要颜色。通常是文字颜色。
--accent网站的强调色。链接颜色、悬停颜色等。
--muted卡片和滚动条的悬停状态背景颜色等。
--border边框颜色。用于边框工具类和视觉分隔

以下是更改亮色配色方案的示例。

src/styles/global.css
/* ... */
:root,
html[data-theme="light"] {
  --background: #f6eee1;
  --foreground: #012c56;
  --accent: #e14a39;
  --muted: #efd8b0;
  --border: #dc9891;
}
/* ... */
css

查看 astro-minimax 为你准备的一些预定义配色方案



上一篇
如何配置 astro-minimax 主题
下一篇
在 astro-minimax 主题中添加新文章

相关推荐

评论区

文明评论,共建和谐社区