Javascript 文本在背景上始终可见
我的元素有一个用户可配置的背景色,这意味着它上面的文本并不总是可见的。我的第一个想法是根据背景色反转前景色,但有时这会导致一些非常可怕的颜色Javascript 文本在背景上始终可见,javascript,Javascript,我的元素有一个用户可配置的背景色,这意味着它上面的文本并不总是可见的。我的第一个想法是根据背景色反转前景色,但有时这会导致一些非常可怕的颜色 是否有一种简单的方法可以根据背景颜色在黑白前景颜色之间切换?好的,您可以将RGB转换为HSL色调、饱和度、亮度,然后如果亮度高于阈值,则选择黑色;如果亮度低于阈值,则选择白色 作为参考,亮度值通过以下公式计算: L (lightness) = (M + m) / 2 其中M是maxR,G,B,M是minR,G,B 为了对称起见,我建议阈值为127.5/2
是否有一种简单的方法可以根据背景颜色在黑白前景颜色之间切换?好的,您可以将RGB转换为HSL色调、饱和度、亮度,然后如果亮度高于阈值,则选择黑色;如果亮度低于阈值,则选择白色 作为参考,亮度值通过以下公式计算:
L (lightness) = (M + m) / 2
其中M是maxR,G,B,M是minR,G,B
为了对称起见,我建议阈值为127.5/255,但实际上,你应该四处看看,看看它是否好看。好的,你可以将RGB转换为HSL色调、饱和度、亮度,然后如果亮度高于阈值,选择黑色;如果亮度低于阈值,选择白色 作为参考,亮度值通过以下公式计算:
L (lightness) = (M + m) / 2
其中M是maxR,G,B,M是minR,G,B
为了对称起见,我建议阈值为127.5/255,但你真的应该仔细考虑一下,看看它是否好看。@scimonester-你是说你不能用JavaScript读取元素的背景色吗?如果是这样,那就错了。@j08691您可以很容易地阅读它。但幸运的是,看看白色还是黑色看起来更好。你可能想考虑限制最终用户的配置选项,因此,他们不选择任何随机的背景颜色,而是提供N个选项。每个选项都有一个很好的预定义颜色组合,用于背景和前景。他们仍然可以自定义,但至少你知道网站会继续保持良好的外观。@scimonester-你是说你不能用JavaScript读取元素的背景色吗?如果是这样,那就错了。@j08691您可以很容易地阅读它。但幸运的是,看看白色还是黑色看起来更好。你可能想考虑限制最终用户的配置选项,因此,他们不选择任何随机的背景颜色,而是提供N个选项。每个选项都有一个很好的预定义颜色组合,用于背景和前景。他们仍然可以定制,但至少你知道,网站会继续保持良好的外观。