Переопределение цвета фона внутри класса span "mark" - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть сайт, который использует «метки» в качестве генетического руководства с цветовой кодировкой.Они настраиваются с помощью массива php на странице конфигурации, и для фона используется встроенный стиль.То, что я хочу сделать, это переопределить одну из меток (darkorange), чтобы показать двухцветный цвет (желтый / белый), а не сплошной оранжевый.(Также необходимо сделать это для диаграммы - синий / белый.)

У меня есть это для CSS, но я не уверен, как применить его только к метке darkorange (с помощью таблицы стилей или встроенного), он не имеетэффект в настоящее время:

span.m_darkorange
{
background-color:yellow;
  background: linear-gradient(to right, yellow 50%, white 0);
}

Код на странице конфигурации:

 $aMarkColors = array("crimson", "darkorange", "gold", "chartreuse", "aqua", "royalblue", "blueviolet", "deeppink", "darkblue", "darkgreen", "darkcyan", "chocolate", "darkgoldenrod", "greenyellow", "orchid", "seagreen");  

И код, который вызывает метки:

function GetMarksDiv($nMarks, $sClass)
{
global $bIgnoreRedMarks, $aMarkColors, $aMarkColorTooltips;
$sText = "";
if ($bIgnoreRedMarks)
    $nMarks = 0xFE & $nMarks;
if ($nMarks != 0)
{        
    $sText = $sText . "<div class='$sClass'>\n";
    $nMask = 1;
    $nIndex = 0;
    foreach ($aMarkColors as $sColor)
    {
        $x = $nMask & $nMarks;
        $sTitle = "";
        if ($aMarkColorTooltips && $nIndex < count($aMarkColorTooltips))
            $sTitle = "title='$aMarkColorTooltips[$nIndex]'";
        if ($x)
            $sText = $sText .  "<span class='mark' style='background-color:$sColor' $sTitle>&nbsp;</span>\n";
        $nMask = $nMask << 1;
        $nIndex++;
    }
    $sText = $sText .  "</div>\n";
}
return $sText;
}

Любая и вся помощь будетс благодарностью!Это сводит меня с ума, и я не могу решить это.

1 Ответ

0 голосов
/ 11 сентября 2018

Ну, вы можете добавить значение $ sColor к классу диапазона:

<span class='mark $sColor' style='background-color:$sColor' $sTitle>&nbsp;</span>\n

(Ваш диапазон будет иметь два класса, один из которых всегда помечен, а другой имеет то же имя, что и цвет)

Затем можно перезаписать фон выбранных участков с определенными классами в CSS:

span.mark.darkorange{
    background: linear-gradient(to right, yellow, white);
}

Также: Вы использовали консоль вашего браузера (элемент проверки), чтобы проверить, что именно не работает? Они дают довольно точные ответы. Я спрашиваю, потому что ваш CSS недействителен - консоль определенно сказала бы вам это. Может быть, есть другие ошибки, такие как опечатки или около того ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...