CSS dynamique utilisant des variables.

Cette technique n'a d'intérêt que pour un grand nombre de valeurs à modifier. Pour une ou deux valeurs, il vaut mieux utiliser une méthode semblable à celle décrite pour les cookies.

L'HTML et PHP utilisés

Dans chaque page on récupère la valeur de la variable dans $choixstyle et on transmet cette valeur au fichier CSS/PHP fixe3col.php.

<?php
$choix="";
if(isset($_GET["style"]))
 {
 $choixstyle=$_GET["style"];
 $choix="?style=$choixstyle";
 }
?>
<style type="text/css">
@import "fixe3col.php<?php echo $choix?>";
</style>

Pour le style 1, le lien permettant de changer le style aura donc cette forme :

<a href="nomdelapage.php?style=1">style 1</a>

Le fichier CSS/PHP

On établit toutes les valeurs par défaut -ici pour le texte et le fond de body- et les valeurs à affecter quand une variable est transmise au fichier CSS/PHP.

<?php
header("Content-type: text/css; charset=iso-8859-1");
header("Cache-Control: must-revalidate");
$ExpStr = "Expires: " .
gmdate("D, d M Y H:i:s",
time()) . " GMT";
header($ExpStr);
/*valeurs par défaut*/
$couleurtexte="#0A00B0";
$couleurfond="#E9F5FE";
if(isset($_GET["style"]))
{
switch ($_GET["style"])
   {
   case "1" : $couleurtexte="#FDC990";
              $couleurfond="#908E53";
              break;
   case "2" : $couleurtexte="#908E53";
              $couleurfond="#FDC990";
              break;
/*etc*/
   }
?>
body{
color:<?php echo $couleurtexte?>;
background-color:<?php echo $couleurfond?>;
}
/*etc*/

Dès qu'une variable est ainsi passée, la feuille de style sera transmise au navigateur qui appliquera les règles comme pour cette page.

Cette page n'utilise aucun filtre pour la disposition ou pour le menu.
Des commentaires conditionnels ont été ajoutés pour MSIE.

Piment d'Espelette
Changer de style
original style 1 style 3

Retour à la page exemple.