使用HSL在php中着色

时间:2012-04-26 13:00:52

标签: php html css hsl

我希望能够为序列中的某些字母(基础)着色。我可以做一个函数来说'颜色',但我不能说是什么颜色。

我使用内部样式表制作了一些hsl div,但这似乎不起作用。

case 1: /*500-550(Raw Score)*/
    $truecol=<div style="text-color: hsl($col,25%, 100%);">/*input*/</div>
    break;

case 2: //550-600
    $truecol=<div style="text-color: hsl($col,35%, 100%);">/*input*/</div>
    break;
case 3: //600-650
    $truecol=<div style="text-color: hsl($col,45%, 50%);">/*input*/</div>
    break;
case 4: //650-700
    $truecol=<div style="text-color: hsl($col,50%, 100%);">/*input*/</div>
    break;
case 5: //700-750
    $truecol=<div style="text-color: hsl($col,55%, 100%);">/*input*/</div>
    break;
case 6: //750-800
    $truecol=<div style="text-color: hsl($col,60%, 100%);">/*input*/</div>
    break;
case 6: //800-850
    $truecol=<div style="text-color: hsl($col,70%, 100%);">/*input*/</div>
    break;
case 7: //850-900
    $truecol=<div style="text-color: hsl($col,80%, 100%);">/*input*/</div>
    break;
case 8: //900-950
    $truecol=<div style="text-color: hsl($col,90%, 100%);">/*input*/</div>
    break;
case 9: //950-1000
    $truecol=<div style="text-color: hsl($col,100%, 100%);">/*input*/</div>
    break;

我是否必须将rgb转换为hsl饱和度,然后再转换为十六进制? 重要的是颜色以渐变的形式出现。这就是我最初使用HSL的原因。

1 个答案:

答案 0 :(得分:0)

首先,只需看看问题中PHP的颜色编码。很明显,你可以看到它是不对的。

将这些HTML标记放在字符串中。最好使用双引号,只要正确转义样式属性即可。例如:

$truecol = "<div style=\"color: hsl($col,100%,50%);\">...</div>";

另请注意,我更正了其他两个错误:样式属性为color,而不是 text-color ,而在hsl中,亮度应为50%一种“正常”的颜色。 100%你只是白色。