Rechercher : dans
Par :

CSS dynamique

Dernière réponse le 11 fév 2009 à 21:30:03 Kilou, le 8 jan 2008 à 10:07:41 
 Signaler ce message aux modérateurs

Bonjour, j'essai d'utiliser les css dynamiques pour mon site mais j'ai l'impression que ma feuille de style n'est pas reconnu comme telle.
Je veux afficher des vignettes les unes en-dessous des autres (maximum 3) puis à gauche (comme un tableau mais sans utiliser de <table>. Pour ca, j'ai une variables qui détermine le nombre de vignettes dans ma page Vignette.php:

<?php session_start();?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="IncludeCSS.php">
<style type="text/css">
<!--
#Vignettes {
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	z-index:1;
	left: 130px;
	top: 96px;}
-->
</style>
</head>
<!--------------------------------------- Initialisation des chemins des vignettes ---------------------------------------->
<?php
	$_SESSION['Img1']='Vignette_Macon';
	$_SESSION['Img2']='Vignette_Venarey';
	$_SESSION['Img3']='Vignette_Dijon';
	$_SESSION['Img4']='Vignette_St-Genis';
	$_SESSION['Img5']='Vignette_Dijon2';
?>
<!--------------------------------------- Initialisation des chemins des rollover ---------------------------------------->
<?php
	$_SESSION['Roll1']='Vignette_Macon_50';
	$_SESSION['Roll2']='Vignette_Venarey_50';
	$_SESSION['Roll3']='Vignette_Dijon_50';
	$_SESSION['Roll4']='Vignette_St-Genis_50';
	$_SESSION['Roll5']='Vignette_Dijon2_50';
	
	//Initialisation du nombre de vignettes
	$_SESSION['nb_vignettes']=5;
?>
<body>
	<div id="Vignettes"> 
		<div id="Vignette1">
			<a class="v1"  href="Macon.php"></a>
			<a id="Texte1" href="Macon.php" >Macon</a>
		</div>
		<div id="Vignette2">
			<a class="v2"  href="Venarey.php"></a>
			<a id="Texte2" href="Venarey.php" >Venarey</a>
		</div>
	        <div id="Vignette3">
			<a class="v3"  href="Dijon.php"></a>
			<a id="Texte3" href="Dijon.php" >Dijon</a>
		</div>
		<div id="Vignette4">
			<a class="v4"  href="St-Genis.php"></a>
			<a id="Texte4" href="St-Genis.php" >St-Genis</a>
		</div>
		<div id="Vignette5">
			<a class="v5"  href="Dijon2.php"></a>
			<a id="Texte5" href="Dijon2.php" >Dijon</a>
		</div>  
	</div>
</body>
</html>


Les id Vignette1, Vignette2, Vignettes3... sont les même à part les positions left et top.

J'ai donc fait un script PHP pour ne pas écrire tous les id VignetteX et pouvoir facilement rajouter une vignette.
Voila le code de ma feuille de style IncludeCSS.php:
<?header("Content-type: text/css");
// Initialisation des variables
	$top = 0;
	$top_texte = 34;
	$left = 100;
	$left_texte = 220;
	$nb_lignes = 0;
	$nb_colonnes = 0;
	$i=3;
	$x=1;
	$num=0; //numero de la vignette
	
//Détermination du nombre de colonnes et de lignes
	if ($nb_vignettes<=3) //si il y a au plus 3 vignettes
	{
		$nb_lignes = $nb_vignettes;
		$nb_colonnes = 1;
	}
	else //si il y a plus de 3 vignettes
	{
		$nb_lignes = 3;
		$nb_colonnes = 2;
		$j=0;
		
		while ($i<=$nb_vignettes)
		{
			$j++;
			if( $j == 4 )
			{
				$nb_colonnes++;
				$j = 0;
			}
			$i++;
		}
	}
	for ($c=1; $c<=$nb_colonnes; $c++)
	{
		$top = 0;
		$top_texte = 34;
		// Boucle d'une colonne de vignettes
		while ( ($x<=3) && ($num != $nb_vignettes) )
		{	
			$num ++;
			echo"#Vignette"; echo $num; echo" a.v";echo $num;
			echo "{
				position:absolute;
				width:85px;
				height:85px;
				z-index:2;
				left:";echo $left;echo "px;
				top: ";echo $top;echo "px;
				background: url(Projets/"; echo $_SESSION['Img$num];echo".gif) 0 0 no-repeat;
			};
			#Vignette";echo $num;echo" a:hover.v";echo $num;
			echo"{
				background: url(Projets/"; echo $_SESSION['Roll$num'];echo".gif) 0 0 no-repeat;
			}
			#Texte";echo $num;
			echo"{
				color: #FFFFFF; 
				font-size: 16px ;
				font-family: \"Arial\"; 
				position:relative; 
				display:inline; 
				left:";echo $left_texte;echo"px; 
				top:";echo $top_texte;echo"px;
			}";	
			//Incrémentation des variables
			$top = $top + 134;
			$top_texte = $top_texte + 116;
			$x++;
		} // fin boucle while
		$x=1;
		$left = $left + 250;
		$left_texte = $left_texte + 250;
	}?> <!-- fin boucle for de c-->


Est-ce que je dois ajouter un session_start() dans la feuille de style? Dans ce cas, je risque d'avoir un problème parce qu'il y a deja le header (je ne peux rien mettre avant)

Merci d'avance pour votre aide!
Configuration: Windows Vista
Firefox 2.0.0.11

Meilleures réponses pour « CSS dynamique » dans :
Créer un site beau, dynamique et respectueux des standards VoirVoici une liste de liens qui vous aideront à mieux exploiter les standards (HTML, CSS, DOM...) pour créer des sites plus beaux, plus dynamiques et plus respectueux des standards. A la fin de cette page, il y a également une liste de...
[Sécurité] IP statique (fixe) ou dynamique ? VoirQu'appelle-t-on IP fixe/dynamique ? Comment choisir son adresse IP ? Que choisir entre adresse IP fixe ou dynamique ? Comment obtenir une adresse IP fixe ? Qu'appelle-t-on IP fixe/dynamique ? Quand vous vous connectez à internet, votre...
Les CSS pour présenter vos images VoirPour présenter agréablement vos images, vous pouvez intégrer quelques codes supplémentaires dans votre CSS et vous en servir à bon escient. Elles sont bien sur modulables en fonction de la charte graphique de votre site. Utilisation Mettez les codes...
Télécharger IP Dynamique VoirSi vous devez héberger un site web sur votre ordinateur, mais que vous n’avez pas d’adresse IP fixe, il est assez difficile d’accéder à votre page pour les internautes. IP Dynamique est un outil permettant d’héberger un site...
Les classes de style (CSS) VoirLes classes et les ID Les classes Il peut s'avérer intéressant d'affecter des styles différents à des mêmes balises. Pour cela les spécifications CSS ont introduit le concept de classe. La définition des classes est aussi simple que celles des...
Feuilles de style - CSS VoirPrésentation des feuilles de style Le concept de feuilles de style est apparu en 1996 avec la publication par le W3C d'une nouvelle recommandation intitulée « Cascading StyleSheets » (feuilles de style en cascade), notée CSS. Le principe des...
CSS - Les couleurs VoirLes couleurs Le standard CSS propose différentes façons de définir des couleurs : par un nom avec la notation hexadécimale avec la notation décimale Appel d'une couleur par son nom Le langage HTML définit des noms pour un nombre limité de...

1

Kilou, le 8 jan 2008 à 11:00:50

Je comprend que le code fasse un peu peur si quelqu'un pouvait prendre qq minutes pour m'aider, je lui en serait très reconnaissant...
J'ai tester mon code de la feuille de style séparemment et il fonctionne donc il doit y avoir une erreur de syntaxe mais je ne voit pas où.

Répondre à Kilou

2

 lionel.a, le 11 fév 2009 à 21:30:03

Bonjour,

dans ta feuille nomdetafeuille.css.php, rajoute en entête :
<?php
header("Content-type: text/css; charset=ISO-8859-1");

Répondre à lionel.a
Collection CommentÇaMarche.net