CSS mettre un fond de site aléatoirement

Résolu
Joffrey -  
playboy-1990 Messages postés 593 Statut Membre -
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.

3 réponses

  1. jalalnet Messages postés 350 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
  2. coeus Messages postés 3296 Statut Membre 120
     
    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
    1. jalalnet Messages postés 350 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
    2. jalalnet Messages postés 350 Date d'inscription   Statut Membre Dernière intervention   10
       
      dommage ça marche que si le code CSS sur la page PHP
      0
    3. playboy-1990 Messages postés 593 Statut Membre 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
    4. 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
    5. roxan
       
      Merci playboy-1990 ton exemple est génial !
      0
  3. jalalnet Messages postés 350 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
    1. playboy-1990 Messages postés 593 Statut Membre 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
    2. jalalnet Messages postés 350 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
    3. playboy-1990 Messages postés 593 Statut Membre 273
       
      La page style en php ne prend de cache donc j'ai résolu le problème les entêtes header ;)
      0