Forum Clubic

Feuille de style dynamique [Résolu

Bonsoir,

Jusqu’à présent, pour mes styles CSS, je les mettais entre les balises HTML <style type=“text/css”> et </style>. Car cela me permettait en fait de faire :[cpp]<style type=“text/css”>
<?php echo $styles_css; ?>
</style>[/cpp]Où $style_css contenait l’ensemble de mes directives CSS dont une partie était générée dynamiquement en fonction de certaines variables (des $_GET surtout).

Mais j’aimerais bien pouvoir faire pareil, en utilisant la balise HTML <link rel=“stylesheet” href=“css.conf.php” type=“text/css”> où “css.conf.php” contiendrait à peu près le code suivant :

<?php
$styles = "...
-- ( Directives CSS ) --
...";

/** Modification de certains truc au sein de $styles **/
...
...
...
//-- Fin des modifications

echo $styles;
?>

J’ai testé cela et ça ne marche pas, le fichier CSS n’est pas pris en compte par le navigateur.
Pourtant en accèdant au fichier “css.conf.php” via le navigateur, j’obtient bien mes directives CSS telles que je les veux. Et si je copie/colle ces directives dans un fichier “styles.css” et que je remplace mon <link> précédent par <link rel=“stylesheet” href=“styles.css” type=“text/css”>, elles sont bien prises en compte et ma page à le rendu escompté.

Qu’en pensez-vous ? Est-ce que ce que j’essaie de faire vous semble impossible ? Comment faire autrement ?

Edition : la balise forum “[cpp]” n’existant plus, il a fallut que je modifie pour [ code]
Edité le 31/05/2007 à 00:43

Ajoute un :

header( ‘Content-Type: text/css’ );

?

Impécable, ça marche :slight_smile:
J’y avais songé mais j’avais pas testé…
Merci bien gentil Sans-Nom :stuck_out_tongue:

par contre tu risques d’être embété par la mise en cache de la feuille de style, suffit de lui faire passer un param en get et hop, le tour est joué

Hum… je vois.
Faut-il que ce param n’est pas la même valeur que la fois précédent pour que le navigateur re-récupère la feuille de style ? Ou bien le simple ajout d’un param (même sans valeur suffit) ?

Sinon tu peux prégénérer ta feuille de style. Ca dépend le pourquoi de l’utilisation de php? Couleurs?

C’est surtout pour changer les width et height de certains éléments selon le mode d’affichage de mon site.
C’est vrai que je pourrais faire deux fichiers CSS prégénérés…

Utiliser le cache du browser c’est toujours mieux :slight_smile: au moins parce que c’est juste un entête à envoyer (HEAD … )

nop faut balancer un rand ou uniqid, mais là dans ton cas vu que tu as pas beaucoup de possibilitées de feuille de style differente ça ne servirait à rien