CSS dynamique
Kilou
-
lionel.a Messages postés 56 Statut Membre -
lionel.a Messages postés 56 Statut Membre -
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:
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:
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!
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!
A voir également:
- CSS dynamique
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Liste déroulante dynamique excel - Guide
- Sommaire dynamique word - Guide
- Liste déroulante dynamique en cascade excel - Guide