PHP dizileri kullanarak rasgele CSS sözde sınıfları Atama

0 Cevap php

Amaç: rastgele kullanıcı tarafından bir mouseover Wordpress üretilen etiket bulutu farklı renk CSS arka atamak.

Benim yöntem (şimdiye kadar başarısız):

        <?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>"; 
            } 
        ?>

Bir foreach döngüsü PHP bunu yapmak için en kolay yol olacağını düşündüm. Ben iki dizi ($ renkler ve $ etiketleri) yarattı. Ben elle kullanmak istediğim renklerin onaltılık etiketleri ile $ renkleri dolu. $ Etiketleri wordpress etiket bulutu dizi ile doldurulur (burada daha fazla bilgi ilginizi ise: http://codex.wordpress.org/Function_Reference/wp_tag_cloud) ki ben bu blogda 40 en popüler etiketler kapmak için belirledik.

Daha sonra, üst 40 etiketlerini kadar karıştırın $ etiketleri üzerinde PHP shuffle fonksiyonunu kullanmak daha sonra rastgele dışarı yankılandı alır CSS sözde sınıfa karıştırılan $ renklerden birini atar bir foreach döngü bu 40 etiketleri çalıştırın.

Kod burada çıktı bir örnek, çalışır:

<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>

Sorun: Ben etiketleri herhangi mouseover zaman, plan gösterir asla. Bu bana CSS kötü olabileceğini düşündürüyor.

A couple of questions for the peanut gallery:
1) How do you apply CSS pseudo classes randomly via PHP?
2) Even if this worked, would the CSS output here by standards compliant?
3) Should I even worry about standards here?

Zaman ayırdığınız için şimdiden teşekkürler - herhangi bir yanıt duymak ilgileniyor.

0 Cevap