CSS/PHP更改悬停颜色链接

CSS/PHP更改悬停颜色链接,php,css,Php,Css,我有一个保存导航链接数组的文件,因此如果我想向导航菜单添加新链接,我可以在一个文件中完成,而不必手动更改多个。但是,每个菜单链接(类别)都需要不同的a:悬停颜色,但我当前的编码不起作用 以下是存储菜单项的文件,以及在多索引数组中应为a:悬停颜色的颜色(有些为空): 以下是打印菜单项的文件: <?php $count_categories = count($CATEGORIES); $incr_categories = 0; while($incr_categories != $co

我有一个保存导航链接数组的文件,因此如果我想向导航菜单添加新链接,我可以在一个文件中完成,而不必手动更改多个。但是,每个菜单链接(类别)都需要不同的a:悬停颜色,但我当前的编码不起作用

以下是存储菜单项的文件,以及在多索引数组中应为a:悬停颜色的颜色(有些为空):


以下是打印菜单项的文件:

<?php

$count_categories = count($CATEGORIES);
$incr_categories = 0;

while($incr_categories != $count_categories) {
    // Change main_right_sub a:hover
    echo "<style>#main_right_sub a:hover { color: ".$CATEGORIES[$incr_categories][1]."; } </style>";

    // Print Nav Items
    echo "<a href='category.php?cat?=".$CATEGORIES[$incr_categories][0]."'>".strtoupper($CATEGORIES[$incr_categories][0])."</a>";

    // Increment Count
    $incr_categories++;
    if ($incr_categories != $count_categories) {
        echo "&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;";
    }
}

?>


我猜你不能交换这样的样式,因为所有链接在鼠标上方都显示为“#59AF56”,这很奇怪,因为这是多索引数组中的第二种颜色。任何帮助都将不胜感激

您可以将链接上的类别设置为CSS类,以便生成的链接如下所示,例如:

<a href="category.php?cat=culture" class="culture">CULTURE</a>

首先,css不会像您所想的那样在每个元素之后加载,浏览器将使用对所有元素具有最高优先级的任何规则,您可以做的是使用内联css样式,但不幸的是
:hover
不支持,所以您的最后手段基本上是javascript

<a
   href="link.php"
   onMouseOver="this.style.color='#FFF'"
   onMouseOut="this.style.color='#000'"
>Text</a>


但最佳的方法无疑是使用类,为每个colortheme指定一个类,并根据需要将这些类添加到所需的元素中。

这需要在添加新菜单项时进行额外的修改。我正在尝试这样做,只需在一个文件中更改内容,其余内容将自动完成,但无论如何,感谢您在最坏的情况下,您可以在同一个文件中的HTML代码中放置
块,并将CSS代码放在该文件中。
#main_right_sub a.culture:hover
{
    color: #f9993c;
}
<a
   href="link.php"
   onMouseOver="this.style.color='#FFF'"
   onMouseOut="this.style.color='#000'"
>Text</a>