28217 sujets
Bon j'y connais vraiment rien à PHP, donc ce que je vais dire va être une horreur sans nom, mais bon, les pros de PHP me corrigeront si vraiment c'est catastrophique.
Je pensais donc à utiliser une fonction rand, disons un rand entre 1 et 10. Ensuite, faire un simple :
<?php
if
{ rand=1; }
then
{echo " <link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"".$css."/style.css\" />\n" ;
}
?>
etc etc etc... bon, javais prévenu que ça allait être une horreur sans nom , je ne sais même pas les règles synthaxique du PHP, cependant c'est le principe que j'adopterais
.
Je pensais donc à utiliser une fonction rand, disons un rand entre 1 et 10. Ensuite, faire un simple :
<?php
if
{ rand=1; }
then
{echo " <link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"".$css."/style.css\" />\n" ;
}
?>
etc etc etc... bon, javais prévenu que ça allait être une horreur sans nom , je ne sais même pas les règles synthaxique du PHP, cependant c'est le principe que j'adopterais

Y'a pas de bouton éditer ? Pas très pratique ça.. Lol.
Je voulais préciser également, que les feuilles de styles prises aléatoirement seront toutes identiques, mis à part ( par exemple: )
Feuilledestyle1.css
Feuilledestyle2.css
Bref, seul le background-image du bloc conteneur changera.
Voilà
Je voulais préciser également, que les feuilles de styles prises aléatoirement seront toutes identiques, mis à part ( par exemple: )
Feuilledestyle1.css
#conteneur
{
background-image:url(fond1.gif);
}
Feuilledestyle2.css
#conteneur
{
background-image:url(fond2.gif);
}
Bref, seul le background-image du bloc conteneur changera.
Voilà

Je sais ce que tu veux dire Dunk... mais cela me ferait trp de CSS...
J'ai trouver sa sur le Web :
http://petit.dotclear.net/pages/2004/12/01/26-afficher-aleatoirement-une-image
Mais je ne sais pas si c'etaitpossible de mettre ça en backround...
J'ai trouver sa sur le Web :
http://petit.dotclear.net/pages/2004/12/01/26-afficher-aleatoirement-une-image
Mais je ne sais pas si c'etaitpossible de mettre ça en backround...
Dunkelheit a écrit :
Y'a pas de bouton éditer ? Pas très pratique ça.. Lol.
Si si, il suffit de lire l'Aide/Règles du forum

Bonjour,
Pour une solution basique, plutôt de répliquer x fois la CSS complète, il suffit d'extraire la règle CSS concernée de la CSS.
Le site aura deux CSS en cascade, ou si vous préférez, deux éléments <link rel="stylesheet"> successifs :
- un pour la CSS "fixe" comportant tous les styles sauf celui qui doit changer aléatoirement
- un pour la CSS "aléatoire", réduit à :
Un simple script PHP de tirage aléatoire dans un tableau suffira à gérer l'insertion du second <link> (voir sur les sites consacrés à PHP pour ce type de script).
Une version plus performante pourrait remplacer la série de CSS aléatoire par un fichier unique en PHP, produisant aléatoirement les différentes variantes (attention dans ce cas à bien fixer l'en-tête HTTP content-type text/css pour ce fichier).
Une version encore plus performante n'utiliserait plus qu'une seule CSS, au lieu des deux. Mais celle-ci, en PHP, insèrerait directement le nom de l'image de fond de manière aléatoire dans la règle background-image (là encore, attention au type mime du fichier).
Modifié par Laurent Denis (01 Nov 2005 - 06:31)
Pour une solution basique, plutôt de répliquer x fois la CSS complète, il suffit d'extraire la règle CSS concernée de la CSS.
Le site aura deux CSS en cascade, ou si vous préférez, deux éléments <link rel="stylesheet"> successifs :
- un pour la CSS "fixe" comportant tous les styles sauf celui qui doit changer aléatoirement
- un pour la CSS "aléatoire", réduit à :
#conteneur
{
background-image:url(....gif);
}
Un simple script PHP de tirage aléatoire dans un tableau suffira à gérer l'insertion du second <link> (voir sur les sites consacrés à PHP pour ce type de script).
Une version plus performante pourrait remplacer la série de CSS aléatoire par un fichier unique en PHP, produisant aléatoirement les différentes variantes (attention dans ce cas à bien fixer l'en-tête HTTP content-type text/css pour ce fichier).
Une version encore plus performante n'utiliserait plus qu'une seule CSS, au lieu des deux. Mais celle-ci, en PHP, insèrerait directement le nom de l'image de fond de manière aléatoire dans la règle background-image (là encore, attention au type mime du fichier).
Modifié par Laurent Denis (01 Nov 2005 - 06:31)
Bonjour,
Pourquoi ne pas générer directement la CSS avec php ??
Genre
et :
Voilà enfin vous avez compris le principe. Comme ça un seul appel à la CSS dans la page HTML, et une seule feuille de style !
Pourquoi ne pas générer directement la CSS avec php ??
Genre
<link rel="stylesheet" href="style.php" type="text/css" />
et :
<?php
header("Content-Type:text/css; charset=iso-8859-1");
?>
/* définitions CSS communes ... */
#conteneurAVecBackgroundAleatoire {
<?php
$images = array("image1.png", "image2.png", "petitchien.png");
$nb = rand(1, count($images)) -1;
echo "background-image:URL({$images[$nb]});\r\n";
?>
}
/* Suite des définitions communes ... */
Voilà enfin vous avez compris le principe. Comme ça un seul appel à la CSS dans la page HTML, et une seule feuille de style !
Raphael a écrit :
Si si, il suffit de lire l'Aide/Règles du forum![]()
Le problème venait du fait que je ne m'identifiais jamais
