Originalmente inviato da
attorianzo
document.getElementById('principale').style.color= 'FF0000'; (dovrei ripeterla per OGNI singolo div del sito?.. è vietato dal w3c usare DIV diversi con ID uguali..)
sparo a caso:
è un po' macchinoso, ma magari qualcosa del tipo:
Codice PHP:
$numero = 16^6; // sedici alla sesta, in modo da coprire tutti i possibili colori
for ($myid==0;$myid<$numero;$myid++){
$colore=convertiinesadecimale($myid); //una funzione che converte in esadecimale il numero decimale
echo "document.getElementById('".$myid."').style.color='".$colore."';";
}
E poi in cima alla pagina
Codice:
<style type="text/css">
<?php
$numerozzo=16^6;
for($i==0;$i<$numerozzo;$i++
echo ".".$i." { quiil codicevario riguardante ogni id }";
?>
</style>
In pratica quello che si fa è definire tutti gli id con un numero decimale che li associa al numero esadecimale che corrisponde a quel colore, per tutti i colori (se no devi scriverli a mano: puoi anche usare criteri piu' selettivi sul range del contatore nel ciclo for, se non ti servono troppi colori sparsi)
Dopodiché usi il tuo documentgetById associando ad esso il colore in questione...
Spero di aver afferrato il concetto della questione
PROBLEMA PRATICO DI QUESTA SOLUZIONE: definire 16^6 (sedici alla sesta potenza) colori è un po' pesante per il server, per non dire devastante, credo. Tra l'altro la pagina diventerebbe di dimensioni sterminate (1 byte per carattere, facciamo una ventina di caratteri per ogni id definito, sedici alla sesta id definiti, fanno 335544320 bytes, pari a 320 Megabytes...) Quindi se tu riuscissi a contenere la cosa sarebbe meglio: esempio:
definisci id 0 (per il nero) senza for
definisci id sediciallasesta (per il bianco) senza for
definisci gli id tra (per esempio) #888888 e #CCCCCC
definisci un paio di altri colori sparsi senza for
nel caso ti servisseo bianco nero e colori compresi tra #888888 e #CCCCCC.
In altre parole usare il metodo ma tagliare sulle variabili che ti servono
ALTERNATIVA GENIALE: tagliare sul range dei colori è un po' dura, perché di solito quello che servono sono colori molto distanziati tra loro, non te ne fai nulla di #001100 e #001101
Quindi fai tutto come ho scritto sopra, ma cambia lo step (al posto di $variabile++ metti
Codice PHP:
$step= 10 //o lo step che scegli tu
//poi nel for( ; ;) metti
for($variabile==0;$variabile>$numero; $variabile+=$step) { //etc etc