这是我从 GitHub 获得的另一种方法,它们适用于问题标签的颜色。它实际上依赖于带有一些计算的 CSS 自定义属性。
.hx_IssueLabel {
--label-r:0;
--label-g:0;
--label-b:0;
--lightness-threshold:0.453;
--perceived-lightness:calc(((var(--label-r) * 0.2126) + (var(--label-g) * 0.7152) + (var(--label-b) * 0.0722)) / 255);
--lightness-switch:max(0, min(calc((var(--perceived-lightness) - var(--lightness-threshold)) * -1000), 1));
background:rgb(var(--label-r), var(--label-g), var(--label-b));
color:hsl(0, 0%, calc(var(--lightness-switch) * 100%));
}
您需要在自定义属性中单独设置背景颜色的 RGB 通道,然后通过更改 HSL 颜色中的亮度通道,文本颜色将从黑色变为白色。亮度是通过接收 RGB 作为输入的算法计算的。