CSS还是PHP?颜色是原始的80%,但没有"透明度"?

mat*_*att 6 css php colors css3

这可能是一个棘手的问题.

我有一个php函数,它返回一个rgba()带参数的颜色值$alpha.

function colorWheel($alpha) {

   "rgba(170, 135, 178, ".$alpha.")"
   …
}
Run Code Online (Sandbox Code Playgroud)

所以在打电话时......

.title { color: <?php echo colorWheel(.8); ?>; }
Run Code Online (Sandbox Code Playgroud)

我明白了 rgba(170, 135, 178, .8);


我遇到的问题是颜色是"透明的"并显示"叠加".

在此输入图像描述

然而,我真正喜欢的只有80%的颜色值! 没有任何透明叠加.

现在的问题是如何解决这个问题?

任何有创意的想法怎么做?我不需要使用rgba()它只是我脑海中最简单的事情.有没有CSS方法不混合具有alpha值的重​​叠形状?

或者有一个PHP解决方案来计算80%的版本rgb(170, 135, 178)?重要的是,此计算与函数动态协同工作,因为函数中有更多颜色 - 这是"如何根据日期和随机返回颜色值?"的后续问题.!

先感谢您.

x4r*_*f41 0

应该这样做:

\n\n
function colorWheel($alpha) {\n    $r = round(170 * $alpha);\n    $g = round(135 * $alpha);\n    $b = round(178 * $alpha);\n    "rgba($r, $g, $b, 1)";\n    \xe2\x80\xa6\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

好吧,这会使颜色变暗,如果你想让颜色变浅,你必须将 alpha 设置为 > 1 的值,并检查 r、g 或 b 是否超过 255,如果超过则将其设置为 255

\n