Bonjour !
Je sui actuelement en stage , et je doit developer un site web ! pas de souci particulier le site est develloper sous spip 1.8.3 charte graphique du gouvernement respecter etc...
Mon seul probleme est qu'ils desirent que mon bandeau(ou bannière) change d'image aleatoirement! Le hic c'est que tout le graphisme et mise en page de mon site web est entierement en CSS! Si vous pouviez m'aider il ne me reste plus qu'une semaine de stage et je patoge a mort! je finirai par couler sans votre aide Smiley langue ^^
Comment faire pour inserer le code java ou php qui change les images! a partir d'une feuille de style? Est-ce possible du moin?
Voici la partie d emon code CSS ou je place mon bandeau si cela peut vous aider!



/* Bandeau */
#entete p {
margin: 0;
padding: 0;
position: absolute; /* Acive le positionnement relative à l'entête */
top: 130px; /* Position du haut de la page */
left: 16px; /* Position de la gauche de la page */
width: 760px; /* Largeur de l'image du bandeau */
height: 111px; /* Hauteur de l'image du bandeau */
background: url(images/entete-bandeau.gif) no-repeat center top; /* L'image du bandeau */
}

Merci d'avance! Smiley cligne
Modifié par ShaNi (19 Jun 2007 - 11:42)
Dsl mon titre de post n'est pas bon ! C'est "PHP dans feuille de style CSS"
et non pas "PHP sans feuille de style CSS" qui ne veut pas dire grand chose lol Smiley langue
Modifié par ShaNi (19 Jun 2007 - 11:41)
Modérateur
Bonjour et bienvenue ShaNi,

Pourrais-tu éditer ton message (bouton en haut à droite du post incriminé) pour inclure ton code entre [code ] et [ /code] (sans les espaces) ? Merci d'avance. Smiley smile

Comme tu es nouveau (ou nouvelle), je pense qu'un petit tour du côté des règles du forum n'est pas superflu de même qu'un rapide passage sur ce sujet :

http://forum.alsacreations.com/topic-9-5341-1-Accueil-aux-debutants-lisez-les-regles-et-les-post-its-.html

a écrit :
Dsl mon titre de post n'est pas bon ! C'est "PHP dans feuille de style CSS"
et non pas "PHP sans feuille de style CSS" qui ne veut pas dire grand chose lol Smiley langue
Ca aussi, tu peux le modifier. Smiley cligne
Modifié par koala64 (19 Jun 2007 - 11:10)
Salut,

Si la taille de tous tes bandeaux potentiels ne change pas, je vois 2 solutions :

- soit dans tes css, tu mets :
background: url(images/entete-bandeau.php) no-repeat center top; /* L'image du bandeau */
et ton entete-bandeau.php renvoie aléatoirement une image parmi celles possibles

- soit tu mets l'image non pas en background mais en tant qu'image dans le html, auquel cas tu peux déterminer l'image à appeler directement dans le php de ta page
Salut Smiley cligne ,

une troisieme solution serait d'avoir une css générale pour ton site (styles.css) et de rajouter aléatoire une css pour ta banière (entre 1 et 3 dans l'exemple) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test bandeau aléatoire</title>
<link rel="stylesheet" type="text/css" href="include/css/styles.css" />
<?php
// Choix de la banière
$ban = rand(1, 3); 
switch ($ban)
{	case 1 :
		echo ('<link rel="stylesheet" type="text/css" href="include/css/baniere1.css" />'."\n");
		break;
	
	case 2 :
		echo ('<link rel="stylesheet" type="text/css" href="include/css/baniere2.css" />'."\n");
		break;
	
	case 3 :
		echo ('<link rel="stylesheet" type="text/css" href="include/css/baniere3.css" />'."\n");
		break;
}
?>
</head>

A+
Marvin Le Rouge a écrit :
Salut,

Si la taille de tous tes bandeaux potentiels ne change pas, je vois 2 solutions :

- soit dans tes css, tu mets :
background: url(images/entete-bandeau.php) no-repeat center top; /* L'image du bandeau */
et ton entete-bandeau.php renvoie aléatoirement une image parmi celles possibles

- soit tu mets l'image non pas en background mais en tant qu'image dans le html, auquel cas tu peux déterminer l'image à appeler directement dans le php de ta page



Bonjour,

Une 3 ème solution, serait que la CSS soit également un fichier PHP et ait une règle du genre


background: white url( images/<?php echo $mon_image ?> ) no-repeat center top;


Le souci c'est qu'on perd dans ce cas le bénéfice de la mise en cache de la feuille de style. (attention au cache d'ailleurs, pour une solution de ce genre, il peut réserver des surprises).

Note : j'ai rajouté un fond blanc au bandeau, c'est toujours une bonne idée d'avoir un fond au cas où l'image ne s'affiche pas pour une raison x ou y.
Modifié par Lanza (19 Jun 2007 - 11:25)
Le truc c'est que le html de mes pages se resume assez souvent a

<html>
<head>
</head>
<body>

toutes mes boucles spip

</body>
</html>


Mon site entierement developper sous spip dc c uniquement mon css qui gere toute la mise en page! c'est un gros inconveniant j'aurai peut etre du y penser plus tot!

a écrit :

- soit dans tes css, tu mets :

background: url(images/entete-bandeau.php) no-repeat center top; /* L'image du bandeau */

et ton entete-bandeau.php renvoie aléatoirement une image parmi celles possibles


Tu veut dire que "entete-bandeau.php" serait ma page php??? car sinon je ne voi pas comment cela pourai appeler diferentes images! ( je suis debutant dsl si je pose une question a 2 balles Smiley langue )

Merci de repondre aussi rapidement je ne matender pas a ca! Smiley langue
Modérateur
ShaNi a écrit :
Merci de repondre aussi rapidement je ne matender pas a ca! Smiley langue
Ca ne t'empêche pas de faire ce que je t'ai demandé. Smiley smile Ce sera utile à d'autres donc il serait agréable que tu prennes ma remarque en considération. Merci pour ta compréhension. Smiley cligne
Modifié par koala64 (19 Jun 2007 - 11:38)