更改颜色¶
与任何适当的 Material Design 实现一样,Material for MkDocs 支持 Google 的原始调色板,可以通过 mkdocs.yml 轻松配置。此外,可以使用 CSS 变量使用几行 CSS 自定义颜色,以适应您的品牌标识。
配置¶
调色板¶
配色方案¶
Material for MkDocs 支持两种配色方案:浅色模式(简称 default)和深色模式(称为 slate)。颜色方案可以通过 mkdocs.yml 进行设置:
theme:
palette:
scheme: default
基础颜色¶
基础颜色用于标题、侧边栏、文本链接和其他几个组件。要更改主要颜色,请在 mkdocs.yml 中将以下值设置为有效的颜色名称:
theme:
palette:
primary: indigo
强调色¶
强调色用于表示可以与之交互的元素,例如悬停链接、按钮和滚动条。可以在 mkdocs.yml 中通过选择有效的颜色名称来更改:
theme:
palette:
accent: indigo
调色板切换¶
提供浅色和深色调色板可使您的文档在一天中的不同时间阅读舒适,因此用户可以相应地进行选择。将以下行添加到 mkdocs.yml:
theme:
palette:
# Palette toggle for light mode
- scheme: default
toggle:
icon: material/brightness-7
name: Switch to dark mode
# Palette toggle for dark mode
- scheme: slate
toggle:
icon: material/brightness-4
name: Switch to light mode
系统首选项¶
通过使用媒体查询,可以将每个调色板链接到用户对浅色和深色外观的系统首选项。只需在 mkdocs.yml 中的 scheme 定义旁边添加一个 media 属性即可:
theme:
palette:
# Palette toggle for light mode
- media: "(prefers-color-scheme: light)"
scheme: default
toggle:
icon: material/brightness-7
name: Switch to dark mode
# Palette toggle for dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
toggle:
icon: material/brightness-4
name: Switch to light mode
自动亮/暗模式¶
较新的操作系统允许在白天和黑夜自动切换浅色和深色外观。Material for MkDocs 增加了对自动亮/暗模式的支持,将调色板选择委托给用户的操作系统。将以下行添加到 mkdocs.yml:
theme:
palette:
# Palette toggle for automatic mode
- media: "(prefers-color-scheme)"
toggle:
icon: material/brightness-auto
name: Switch to light mode
# Palette toggle for light mode
- media: "(prefers-color-scheme: light)"
scheme: default
toggle:
icon: material/brightness-7
name: Switch to dark mode
# Palette toggle for dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
toggle:
icon: material/brightness-4
name: Switch to system preference
自定义¶
自定义颜色¶
Material for MkDocs 使用 CSS 变量(自定义属性)实现颜色。如果您想自定义调色板之外的颜色(例如,使用您的品牌特定颜色),您可以添加额外的样式表并调整 CSS 变量的值。
首先,将 mkdocs.yml 中的 primary 或 accent 值设置为 custom,以向主题发出您想要定义自定义颜色的信号,例如,当您想要覆盖 primary 颜色时:
theme:
palette:
primary: custom
:root > * {
--md-primary-fg-color: #EE0F0F;
--md-primary-fg-color--light: #ECB7B7;
--md-primary-fg-color--dark: #90030C;
}
extra_css:
- stylesheets/extra.css
自定义配色方案¶
除了覆盖特定颜色外,您还可以通过将定义包装在 [data-md-color-scheme=“...”] 属性选择器中来创建自己的命名配色方案,然后您可以通过 mkdocs.yml 进行设置,如配色方案部分所述:
[data-md-color-scheme="youtube"] {
--md-primary-fg-color: #EE0F0F;
--md-primary-fg-color--light: #ECB7B7;
--md-primary-fg-color--dark: #90030C;
}
theme:
palette:
scheme: youtube
extra_css:
- stylesheets/extra.css
此外,slate 颜色方案通过 hsla 颜色函数定义它的所有颜色,并从 --md-hue CSS 变量中推断出它的颜色。您可以通过以下方式调整 slate 主题:
[data-md-color-scheme="slate"] {
--md-hue: 210;
}