开发中有些场景可能需要更换整个系统的皮肤颜色,主色调还会配备几种辅色,
这个时候最方便的做法就是根据主色来动态调配辅色
这里使用了:color.js 库
HTML:
<style>
// 定义颜色变量
:root {
--skin-color: #1a8099;
--skin-color-hover: #337ab7;
--skin-color-active: #275f91;
}
// 变量使用方式
.btn {
background-color: var(--skin-color);
}
</style>
<script src="color.js"></script>
JS:
// 设置主色
document.querySelector(':root').style.setProperty("--skin-color", data.mainColor);
// 动态调配辅色
var Color = net.brehaut.Color;
var skinColor = Color(data.mainColor);
// 变亮
document.querySelector(':root').style.setProperty("--skin-color-hover", skinColor.lightenByRatio(0.2).toCSS());
// 变暗
document.querySelector(':root').style.setProperty("--skin-color-active", skinColor.darkenByRatio(0.2).toCSS());