【发布时间】:2026-02-13 00:40:02
【问题描述】:
考虑两个或更多看起来“相同”颜色但透明度不同的盒子:
在此示例中,左侧 div 为 rgba(200,200,200,0.8),右侧为 rgba(150,150,150,0.4)。第二行后面有一个红色条,表示它们的透明度不同。
我知道左右 div 不 看起来一样(左侧 div 看起来 稍微 更暗)。我的问题是我怎样才能做到这一点:
给定一种颜色(r1, g1, b1, a1),我怎样才能算出另一种“颜色”(r2, g2, b2, a2),使a1 != a2 和两种颜色看起来“相同”。
这是我用来生成上图的小提琴:jsfiddle
目前,我只是选择了一些r2、g2 和b2,然后摆弄a2,直到这两种颜色看起来足够相似。但是颜色和它们的透明度之间应该存在关系,我们可以使用它来精确地计算出任何给定的颜色。
【问题讨论】: