JavaScript 颜色对比

标签 javascript css colors contrast

我正在寻找一种技术,我们可以通过这种技术以编程方式选择最佳颜色对比度,以应用于具有不同(不可预测)背景颜色的 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/

相关文章:

javascript - (React js) 音频 src 在 setState 上更新,但音频播放没有改变

javascript - 如何为垂直滚动设计一个卡住的左侧导航栏?

php - PHP、HTML 和 CSS 的页面布局问题

html - 将 CSS 应用于页面上的特殊字符

r - 如何使用 formattable 和 color_tile 有条件地为表元素着色?

javascript - 更改高度后如何修复输入类型日期的上下控件/旋转

javascript - 在 bootstrap-datetimepicker 中设置默认时间

r - R中的半色箱线图

javascript - Angular2 : JQuery $. 为 Angular2/4 扩展

sorting - 对十六进制颜色值进行排序