根据字体大小更改背景颜色

3
在 PHP 文件中,我有一个变量 $number,它包含有关字体大小的信息,它运行得很好:
echo "<div style='font-size:".$number."'px>  .... "

我现在想知道,是否有可能根据字体大小来更改此 div 的背景?默认值是白色,因此可以使用 <div style='background-color:#FFFFFF;font-size:10px 来设置字体大小为10px。当背景字体大小变大时,我希望颜色稍微改变,例如从白色逐渐变为红色,再到深红色。我该怎么做?
我知道可以通过以下方式实现,但我相信应该有更简单的方法:
if ($number==10) $color="FFFFFF";
elseif ($number==11) $color="FCEFF3";
....
elseif ($number==50) $color="FF004E";
echo "<div style='background-color:#".$color.";font-size:".$number."'px>  .... "

但在上面的例子中,问题在于脚本的长度很长,因为字体大小可以从10到50甚至80,所以我想也许我可以添加十六进制颜色值来增加它们的大小,不知道是否可行?


1
使用数组将字体大小映射到颜色会更好一些。但是它并没有消除内联设置样式的丑陋。您应该使用适当命名的类,并通过CSS将字体大小和背景应用于这些类。 - CBroe
1个回答

5

您可以创建一个关联数组,将颜色作为值与字体大小作为键。然后,您可以从任何 $number 设置的内容中轻松地引用该颜色:

$number = 11; // Or whatever the font-size is set to
$backgrounds = array(
    10 => "#FFFFFF",
    11 => "#FCEFF3",
    50 => "#FF004E"
);

echo "<div style='background-color: ".$backgrounds[$number]."; font-size: {$number}px;'></div>";

谢谢。这是一个简单而有效的想法。 - Lucas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接