我正在寻找一种技术,我们可以通过这种技术以编程方式选择最佳颜色对比度,以应用于具有不同(不可预测)背景颜色的 HTML 元素上的文本。
由于 HTML 元素会有不同的颜色,我们正在寻找一种技术来确定文本背后内容的颜色,然后调整文本的颜色以使用具有最佳对比度的颜色.
我很确定这不可能只是 CSS,我一直在寻找 Jquery 解决方案但找不到任何...有人知道吗?
[更新]: 根据第一个回复,我想我需要重新措辞。想象一下,我正在构建一个图像共享服务,我想让人们自己在图片上标记。图片可以是任何颜色。如何为每张不同的图片选择正确的标签颜色?
最佳答案
我认为这可能会为任何 future 的研究人员节省一点时间,这对我来说非常有用。将红色绿色和蓝色值插入函数,它会输出“深色文本”或“浅色文本”。
var darkOrLight = function(red, green, blue) {
var brightness;
brightness = (red * 299) + (green * 587) + (blue * 114);
brightness = brightness / 255000;
// values range from 0 to 1
// anything greater than 0.5 should be bright enough for dark text
if (brightness >= 0.5) {
return "dark-text";
} else {
return "light-text";
}
}
使用来自 http://particletree.com/notebook/calculating-color-contrast-for-legible-text/ 的一些代码来自@David 的回答。
关于JavaScript 颜色对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5650924/