CSS mettre un fond de site aléatoirement

Résolu
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. 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
    1. 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. g² j'ai testé chez moi ça marche bien j'avait aucune aidé quand peut combiné du css avec php
        0
      2. dommage ça marche que si le code CSS sur la page PHP
        0
      3. 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. 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. Merci playboy-1990 ton exemple est génial !
        0
    2. 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. 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. 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. La page style en php ne prend de cache donc j'ai résolu le problème les entêtes header ;)
        0