Aller au contenu

php et css


broadcastor

Sujets conseillés

Bonjour tout le monde,

je voudrais savoir comment on peut insérer du php dans une css. Je suis quasi sur que c'est possible pour lavoir deja rencontré, mais il me semble qu'il faut une petite entete particuliere et je la retrouve pas. merci si vous pouvez m'aider

Lien vers le commentaire
Partager sur d’autres sites

Bah, si tu permets à tes visiteurs de changer leur feuille de style, ou par exemple pour un blog, ça dépendra de chaque blog, etc... Tu prends toutes les infos dans ta bdd, et puis tu crées ta feuille de style avec ces variables pour avoir une feuille de style personnalisée pour chaque blog ;)

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

sûrement à générer une feuille PHP à la volée... donc dynmaiquement en fonction par exemple de la personne qui demande la feuille de style, ou simplement d'une variable donnée par l'utilisateur...

**EDIT** Ha grillé par sarc... faudra qu'on se fasse un barbecue une fois... ;)

Modifié par TheRec
Lien vers le commentaire
Partager sur d’autres sites

Insérer du php dans une feuille de style, ca n'est pas un problème.

Le problème vient du nom de cette feuille. En effet, la plupart des navigateurs (notamment) gardent la feuille de style en mémoire. En gros, ils la chargent une fois, et se servent ensuite de celle qu'ils ont. Si elle change en fonction de la page sur laquelle on se trouve, il se pourrait bien que tu connaisses des problèmes de 'cache' de navigateur, lorsque l'internaute changera de page, mais que le navigateur ne recharge pas la nouvelle feuille de style, car elle aura le même nom que la précédente.

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Je ne sais pas si un navigateur prendra en compte un header no cache, pour une feuille de style :/

Normalement oui, mais...

Lien vers le commentaire
Partager sur d’autres sites

Après une petite recherche, quelques liens disent que oui:

http://www.shauninman.com/plete/2005/08/cs...#comment-002196

http://www.fiftyfoureleven.com/sandbox/web...ss-gzip-method/

Le seul problème viendrait d'IE 5 Mac qui a un cache un peu trop puissant: il faut supprimer manuellement le fichier "IE Cache.waf" pour que çà marche 'comme ailleurs'..

Donc normalement, pas de souci :unsure:

Lien vers le commentaire
Partager sur d’autres sites

Oui c'est fesable ;)

Mais il faut que ton hebergement supporte les scripts php dans un fichier finissant en .css sinon tu ne pourra pas récupérer ta variable pour t'en servir.

Lien vers le commentaire
Partager sur d’autres sites

pour ma part j'ai installé une CSS dynamique et j'en suis très content.

j'appelle les modifs de la sorte avec un argument GET:

<link href="styles.php?style=1" rel="stylesheet" type="text/css" />

par contre après, on peut plus modifier la CSS avec un éditeur genre dreamweaver, à convertir donc en PHP à la fin...

Lien vers le commentaire
Partager sur d’autres sites

Salut, en fait je rencontre effectivement un probleme de cache, que je n'avais pas remarqué avant: mes images mettent un petit temps a s'afficher, et tant que je n'ai pas parcouru les differentes rubriques une fois pour les charger en cache, il y a tjs ce petit delais.

J'ai essayé

$updated_time = filemtime($_SERVER["DOCUMENT_ROOT"] . "/" . "css.css");
$requested_time = strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"]);
_AT_clearstatcache();

header("Last-Modified: " . gmdate("D, d M Y H:i:s", $updated_time) . " GMT");
header("ETag: " . md5($updated_time));
header("Cache-Control: private");
header("Content-Type: text/css");

if ($updated_time <= $requested_time) {
   header($_SERVER["SERVER_PROTOCOL"] . " 304 Not Modified");
}

trouvé sur le premier site donné par dudu, mais je n'ai pas limpression que ça marche mieux.

Et puis sous IE, c'est leclate total, le menu ne saffiche pas du tout, logique pour une page qui passait presque la validation(dailleurs si qelqu'un voit le pb que me donne le validator, je suis preneur pour toutes explications)

le site

Lien vers le commentaire
Partager sur d’autres sites

Tu devrais utiliser la méthode magique du background-position sur une seule image pour tes rollover, ça éviterait le délai d'apparition de l'image.

Ensuite pour tes erreurs, il y en a deux : tu utilises un doctype qui n'existe pas (c'est XHTML 1.0 Strict et pas XHTML 1.0) et tu as un <div> mal fermé semble-t-il.

Modifié par loufoque
Lien vers le commentaire
Partager sur d’autres sites

jai viré le div qui trainait, en revanche pour le doctype je vois pas le pb, cest un copié collé certifié iso9001 que jai fait, mais le probleme subsiste.

Pour la methode magique du background-position, ça resoudrait le probleme pour l'affichage du menu, mais je trouve que rament egalement le bandeau du haut, le pied et de page,et tout ce qui est image en fait!

merci de ton aide

Lien vers le commentaire
Partager sur d’autres sites

si si cetait bien la certif qualité, mais en fait, je lavais modif sans m'en rendre compte, mais en suivant tes conseils, maintenant cest top, je suis valide, ça fait presque aussi plaisir que quand on voit lecran d'installe d'une BSD qui dit que tout va bien...merci Monsieur Dudu en tout cas.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...