目标:随机分配不同颜色的CSS背景到用户鼠标器上由WordPress生成的标签云。
我的方法(迄今未成功):
<?php
$colors = array( 0 => "#645676", "#427048", "#654335", "#ab2805", "#a59d57", "#302f2f", "#81510d" );
$tags = wp_tag_cloud('smallest=10&largest=10&unit=px&number=40&format=array&echo=0');
shuffle($tags);
foreach ($tags as $tag) {
shuffle($colors);
echo "<li style=\"a:hover=background:".$colors[0].";\"> $tag \n </li>";
}
?>
我认为foreach-php循环是最简单的方法。我创建了两个数组($colors和$tags)。我用我想要使用的颜色的十六进制标记手工填充$colors。$tags由wordpress标签云数组填充(如果感兴趣,请参阅此处的详细信息:
http://codex.wordpress.org/Function_Reference/wp_tag_cloud
)我准备在这个博客上抓取40个最流行的标签。
然后,我在$tags上使用php shuffle函数来混合前40个标签,通过foreach循环运行这40个标签,然后将其中一个无序的$colors随机分配给一个CSS伪类,该类将得到回送。
代码有效,下面是输出示例:
<li style="a:hover=background:#302f2f;"> <a href='http://localhost:8888/nutritionwonderland_2/tag/truvia/' class='tag-link-49' title='3 topics' style='font-size: 10px;'>truvia</a>
</li><li style="a:hover=background:#81510d;"> <a href='http://localhost:8888/nutritionwonderland_2/tag/cancer/' class='tag-link-8' title='11 topics' style='font-size: 10px;'>cancer</a>
</li><li style="a:hover=background:#427048;"> <a href='http://localhost:8888/nutritionwonderland_2/tag/antioxidants/' class='tag-link-93' title='4 topics' style='font-size: 10px;'>antioxidants</a>
</li>
问题是:当我鼠标移到任何一个标签上时,背景都不会出现。这让我觉得CSS可能不好。
花生馆的几个问题:
1)如何通过PHP随机应用CSS伪类?
2)即使这样做有效,这里的CSS输出是否符合标准?
3)我应该担心这里的标准吗?
有兴趣听到任何回应-提前感谢您的时间。