深色模式
组件库内置深色模式主题,你可以轻易的切换到深色模式。
如何切换为深色模式
组件库通过 body 标签上的 apron-theme 属性来表明主题,你可以修改这个属性来切换:
// 设置为深色模式
document.body.setAttribute('apron-theme', 'dark');
// 恢复
document.body.removeAttribute('apron-theme');
跟随系统主题自当切换则使用 prefers-color-scheme 属性
const darkThemeMq = window.matchMedia("(prefers-color-scheme: dark)");
darkThemeMq.addEventListener('change', e => {
if (e.matches) {
document.body.setAttribute('apron-theme', 'dark');
} else {
document.body.removeAttribute('apron-theme');
}
});
原理
Apron Design 使用 CSS 变量来构建颜色体系,并且在深色模式下有一套完整的颜色组。