CSS mettre un fond de site aléatoirement

Résolu
Joffrey -  
playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je viens ici car j'ai besoin de votre aide. Voici la balise body dans mon fichier.css

body {
	margin:0 auto;
	padding:0px 0px 0px 0px;
	background:#000000 url(https://www.pagesjaunes.fr/ repeat-x ;
	background-repeat:no-repeat;
	background-position: top center;
	font-family:Arial, Century gothic,Tahoma,sans-serif;
	font-size:13px;
	}


J'aurai voulu savoir comment afficher aléatoirement un fond ecran différent sur mon site.
J'ai les fond : fond1.jpg fond2.jpg et fond3.jpg
Comment les afficher aléatoirement au chargement des pages ?

Merci d'avance.
A voir également:

3 réponses

jalalnet Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   10
 
tu peut pas faire avec de CSS,faut du javascript
voila j'ai fais le code pour toi
<head>
<style type="text/css">
body
{
background:url(1.jpg);
}
</style>
// le script js
<script type="text/javascript">
var compteur=0
tbimage=new Array('1.jpg','2.jpg','3.jpg')

function pouic(){

if(compteur==tbimage.length){
compteur=0
}
document.body.style.cssText='background:url('+tbimage[compteur]+')'
compteur++
setTimeout(pouic,2000)
}
</script>
</head>
<body onload='pouic()'>

</body>
</html>
0
coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   119
 
Ou sinon, tu mets ce bout de code CSS directement sur une page PHP (par exemple index.php, vu que ça concerne le Body c'est pas trop grave), et au chargement de la page tu génères un nombre aléatoire qui déterminera le fond...

<?php
$fond = rand(1,4);
?>

<style>

body {
background-image:url("fond<?php print $fond; ?>.jpg");
}

</style>

0
jalalnet Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   10
 
g² j'ai testé chez moi ça marche bien j'avait aucune aidé quand peut combiné du css avec php
0
jalalnet Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   10
 
dommage ça marche que si le code CSS sur la page PHP
0
playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   273
 
Sinon tu peux créer une feuille de style en php et non en css
Moi je fait comme ça
Ta page index.php
tu mets :
 <link rel="stylesheet" href="./style.php" type="text/css" media="screen, projection" />

et dans ta feuille de style.php tu mets
header('content-type: text/css');  
header('Cache-Control: max-age=3600'); 
  $offset = 60 * 60 * 24 * 3; 

  $ExpireString = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; 

$fond = rand(1,4); 
?> 
body { 
background-image:url("fond<?php print $fond; ?>.jpg"); 
}


La page style en php ne prend de cache donc j'ai résolu le problème avec les header ;)
0
Twinpics
 
Bonjour,

Tu mets le script de coeus directement dans ta feuille de style en l'enregistrant au format PHP (par exemple style.php) tu inclus dans cette feuille de style la ligne suivante :
header("Content-type: text/css");

Puis dans ta page HTML tu appelles ta feuille de style normalement :
<link rel="stylesheet" type="text/css" media="screen" href="style.php" />

--------------------------------------------------------------------------------------------------------------------------------
<* Suivez-moi sur FesseS-Bouc *>
0
roxan
 
Merci playboy-1990 ton exemple est génial !
0
jalalnet Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   10
 
playboy-1990
j'ai essayé ton code mais la page style.php prend du cache même en supprimant cette page le page index continue de chargé le style du mémoir
0
playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   273
 
Oups
Supprime alors
header('Cache-Control: max-age=3600'); 
  $offset = 60 * 60 * 24 * 3; 

  $ExpireString = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; 
0
jalalnet Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   10
 
c bon merci , mais tu peut dire a quoi sert se bout de code
header('Cache-Control: max-age=3600'); 
  $offset = 60 * 60 * 24 * 3; 

  $ExpireString = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; 
0
playboy-1990 Messages postés 458 Date d'inscription   Statut Membre Dernière intervention   273
 
La page style en php ne prend de cache donc j'ai résolu le problème les entêtes header ;)
0