Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
650 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Question sur les CSS

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Question sur les CSS

n°268042
cyp en for​sse
Toggenburg enthusiast
Posté le 12-12-2002 à 13:51:48  profilanswer
 

Salut la compagnie  :pt1cable:  
 
voilà, j'ai un pb avec les styles CSS :
 
Comment interpreter dynamiquement des feuilles CSS ?
 
Je m'explique : à la base, ces feuilles sont statiques, on les link avec une page HTML et on utilise les définitions de styles comme attribut d'objet HTML.
 
Je voudrais que les définitions de style dans la feuille de style soient dynamique, c.a.d que les valeurs de style (BACKGROUND COLOR de BODY par exemple) soient fixées par des variables (ASP.NET ou PHP, peut importe).
 
Mais visiblement, les feuilles CSS sont statiques et on ne peut pas y entrer de code HTML.
 
Avez vous une solution ?
Autre que reprendre les définitions de Style dans le HEADER de la page HTML bien sur.
 
MERCI LES AMIS  :pt1cable:

mood
Publicité
Posté le 12-12-2002 à 13:51:48  profilanswer
 

n°268048
Profil sup​primé
Posté le 12-12-2002 à 13:55:53  answer
 

[:tilleul]

n°268049
cyp en for​sse
Toggenburg enthusiast
Posté le 12-12-2002 à 13:57:12  profilanswer
 
n°268051
Profil sup​primé
Posté le 12-12-2002 à 13:58:36  answer
 

chez pas la question me parait bizare :)

n°268054
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 14:00:34  profilanswer
 

Je ne connais pas ASP. Mais en PHP on peut tout à fait générer dynamiquement une feuille de style :
 
<link rel="stylesheet" href="style.php" type="text/css" />
 
Et dans style.php il faut envoyer au début un en-tête HTTP content-type: text/css;
 
 
A voir si c'est possible en ASP


Message édité par gm_superstar le 12-12-2002 à 14:05:19

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°268057
cyp en for​sse
Toggenburg enthusiast
Posté le 12-12-2002 à 14:04:11  profilanswer
 

chacal_one333 a écrit :

chez pas la question me parait bizare :)


 
Je m'explique autrement, prenons un cas concret :
 
une appli web avec des profils utilisateurs.
Chaque profil peut choisir un thème d'affichage.
 
Les pages HTML utilisent une feuille de style unique.
 
Il est impossible de spécifier un attribut par variable dans les CSS :  
Par exemple :  
 
 

Code :
  1. BODY
  2. {
  3. Background-color = ma_variable
  4. }

 
 
Ou "ma_variable" renvoie le code couleur du thème du profil.
ça ne passe pas. Le CSS est statique.
 
L'autre solution est de redéfinir cet attribu dans la balise <STYLE> de la page HTML, mais c'est couillon, surtout si il y a 200 attribut à fixer !
 
Y'a t'il une autre solution ?

n°268058
cyp en for​sse
Toggenburg enthusiast
Posté le 12-12-2002 à 14:07:02  profilanswer
 

gm_superstar a écrit :

Je ne connais pas ASP. Mais en PHP on peut tout à fait générer dynamique une feuille de style :
 
<link rel="stylesheet" href="style.php" type="text/css" />
 
Et dans style.php il faut envoyer au début un en-tête HTTP content-type: text/css;
 
A voir si c'est possible en ASP


 
Oui, la génération dynamique d'une feuille CSS est bien (et faisable en ASP.NET) est la seule solution...

n°268064
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 14:12:53  profilanswer
 

cyp en forsse a écrit :


 
Oui, la génération dynamique d'une feuille CSS est bien (et faisable en ASP.NET) est la seule solution...


 
bhen si tu le sais pourquoi tu poses la question :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268072
cyp en for​sse
Toggenburg enthusiast
Posté le 12-12-2002 à 14:20:11  profilanswer
 

antp a écrit :


 
bhen si tu le sais pourquoi tu poses la question :??:


 
Je pensais qu'il y avait une autre solution !
La génération, c'est bien, mais c'est un peu lourd.
 

n°268075
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 14:21:44  profilanswer
 

cyp en forsse a écrit :

Je pensais qu'il y avait une autre solution !
La génération, c'est bien, mais c'est un peu lourd.


Je ne vois pas tellement quelle alternative on pourrait avoir...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
mood
Publicité
Posté le 12-12-2002 à 14:21:44  profilanswer
 

n°268077
cyp en for​sse
Toggenburg enthusiast
Posté le 12-12-2002 à 14:22:56  profilanswer
 

gm_superstar a écrit :


Je ne vois pas tellement quelle alternative on pourrait avoir...


 
Peut etre une nouvelle norme de feuilles de styles dynamique !

n°268079
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 14:23:37  profilanswer
 
n°268083
cyp en for​sse
Toggenburg enthusiast
Posté le 12-12-2002 à 14:24:48  profilanswer
 


 
Si, je serais etonné que les feuilles de styles restent statiques !

n°268090
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 14:31:40  profilanswer
 

Je vois mal ce que tu voudrais faire d'une nouvelle norme vu qu'IE sait déjà pas gérer les vieilles normes [:dawa]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268223
djobidjoba
Posté le 12-12-2002 à 16:26:01  profilanswer
 

g ptet une idee :
je sais qu'il n'est pas obligatoire de lier le fichier css mais il est possible de l'inclure directement dans ton html entre les balises qui vont bien.
En partant de ce principe, tu fé un include php (ou autre cgi) de ton ex fichier css qui peut mainteant contenir du code interpretable .
 
 
ex :
 


ex.html :
 
<html>
<head>
<?php include "ex.css.php";?>  
</head>
<body></body>
</html>
 
ex.css.php :
 
echo '<style type="text/css">';
echo '<!--';
echo 'h1';
echo '{';
echo 'font-size: [b]$fsize[/b];';  
echo 'color: [b]$couleur[/b]';
echo '}';
echo '//-->';
echo '</style>';
 


 

n°268266
cyp en for​sse
Toggenburg enthusiast
Posté le 12-12-2002 à 17:03:45  profilanswer
 

Pas bête du tout comme idée  :jap:  
 
Mais le pb c'est que j'ai des centaines de lignes de style qui vont etre intégrées aux pages.
 
ça va bien alourdir les pages HTML...

n°268279
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 17:11:44  profilanswer
 

Des centaines de ligne ???
 
Alors :
 - soit la feuille de style n'est pas du tout optimisée et il y a trop d'élément redondants
 - soit c'est la feuille de style pour un site entier mais dans ce cas ce n'est peut être pas judicieux de faire une seule feuille de style.
 
 
Dans une page HTML on peut linker autant de feuilles de style qu'on veut. Dans ce cas une bonne idée peut être de mettre dans un CSS statique toutes les propriétés qui ne changent pas et dans une autre celles qui sont dynamiques :
 

<link rel="stylesheet" href="dynamic.asp" type="text/css" />
<link rel="stylesheet" href="static.css" type="text/css" />


 
 
De toute façon que les styles soient inclus dans la page HTML ou dans une fichier externe, la quantité de donnée à générer et à transmettre est la même.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°268280
lorill
Posté le 12-12-2002 à 17:14:14  profilanswer
 

gm_superstar a écrit :


De toute façon que les styles soient inclus dans la page HTML ou dans une fichier externe, la quantité de donnée à générer et à transmettre est la même.


elle est pas mise en cache quand c'est le même fichier qui est demandé ?

n°268285
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 17:19:05  profilanswer
 

lorill a écrit :

elle est pas mise en cache quand c'est le même fichier qui est demandé ?


Si elle est générée dynamiquement non (enfin ça dépend de la configuration globale de ton PHP ou ASP, mais par défaut on a un en-tête no-cache qui est envoyé)


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°268286
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 17:19:59  profilanswer
 

y a moyen d'overrider cet en-tête ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268291
lorill
Posté le 12-12-2002 à 17:21:44  profilanswer
 

gm_superstar a écrit :


Si elle est générée dynamiquement non (enfin ça dépend de la configuration globale de ton PHP ou ASP, mais par défaut on a un en-tête no-cache qui est envoyé)


ouais, mais les statiques si... donc vaut mieux séparer les fichiers plutot que faire un include

n°268296
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 17:23:21  profilanswer
 

lorill a écrit :

ouais, mais les statiques si... donc vaut mieux séparer les fichiers plutot que faire un include


Ah voui, mais c'est exactement pour ça que je disais de séparer. Ma dernière remarque était plus par rapport à ce que djobidjoba et moi on a donné avant.

n°268301
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 17:25:08  profilanswer
 

antp a écrit :

y a moyen d'overrider cet en-tête ?


En PHP oui, mais dans ce cas c'est toutes tes pages qui seront affectées et il faudra l'ajouter toi-même si tu veux que certaines pages ne soient pas mises en cache.
Après peut-être qu'il y a des configurations plus fines...

n°268321
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 17:34:38  profilanswer
 

En fait mon CSS est généré dynamiquement, mais c'est un fichier séparé :
http://www.antp.be/main.css.php
http://www.antp.be/main.css.php?c=red
etc...
en fait faudrait que seule cette page reste dans le cache


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268326
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 17:37:38  profilanswer
 

Bah tu fais 2 CSS !

n°268331
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 17:40:32  profilanswer
 

ouais mais c'est chiant ça


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268337
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 17:42:28  profilanswer
 

pourquoi ? d'après ce que j'ai vu tu n'as que 2 propriétés qui dépendent de ton paramètre. Tu as tout à gagner. (par contre ça fait un hit de plus)


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°268343
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 17:46:04  profilanswer
 

y en a plus que deux
y a le hr, tous les "a" et tous les ".menu"/".menuleft", "bar" etc...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268347
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 17:52:16  profilanswer
 

bah au pire une douzaine, ça reste négligeable par rapport au reste


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°268351
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 17:58:40  profilanswer
 

gm_superstar a écrit :

bah au pire une douzaine, ça reste négligeable par rapport au reste


 
parce que le reste comporte plein de morceaux inutiles :D
faut que je nettoie ce CSS :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268364
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 18:05:44  profilanswer
 

De toute façon tu n'as pas trop le choix, c'est une configuration de PHP et je doute que tu aies un quelconque contrôle la dessus. Ou alors dis moi vite qui est ton hébergeur :D


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°268368
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 18:06:49  profilanswer
 

bah je croyais que c'était au niveau d'Apache, on sait jamais que ça puisse se modifier avec un .htaccess :D


Message édité par antp le 12-12-2002 à 18:07:07

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268393
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 18:53:49  profilanswer
 

Heu.... il n'y a pas d'en-tête qui désactive le cache sur tes pages :
 

$ lynx --dump --head http://www.antp.be/main.css.php?c=red
HTTP/1.1 200 OK
Date: Thu, 12 Dec 2002 17:52:53 GMT
Server: Apache
X-Powered-By: PHP/4.2.3
Connection: close
Content-Type: text/css
 
$ lynx --dump --head http://www.antp.be/
HTTP/1.1 200 OK
Date: Thu, 12 Dec 2002 17:53:00 GMT
Server: Apache
X-Powered-By: PHP/4.2.3
Connection: close
Content-Type: text/html



---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°268398
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 18:59:23  profilanswer
 

ha bhen alors c'est bon, on discute pour rien donc :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268434
Sh@rdar
Ex-PhPéteur
Posté le 12-12-2002 à 19:56:20  profilanswer
 

eh non, comme le contenu change, elle ne sera jamais mise en cache !


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°268507
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 21:30:14  profilanswer
 

comment on le sait que le contenu change ? :D Logiquement tant que l'URL (paramètres compris) est la même le browser le prend dans le cache...


Message édité par antp le 12-12-2002 à 21:30:25

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268540
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 22:03:05  profilanswer
 

Si ils ont déjà la page dans leur cache, les navigateur modernes, envoient d'abord une requête HTTP du type : "la page a-t-elle été modifié depuis DATE ?" Si le serveur répond qu'elle n'a pas été modifiée (réponse 304 je crois) alors le navigateur ne retélécharge pas la page.
 
Question : comment est-ce que ça se passe avec une page dynamique ?


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°268675
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-12-2002 à 22:19:41  profilanswer
 

Bonne question
C'est vrai que dans mes logs Apache j'ai pas mal de "not modified":
 


200: OK                  928,378      66.9%
304: Not Modified        417,864      30.1%
302: Found                26,853       1.9%
301: Moved Permanently    11,959       0.9%
404: Not Found             1,820       0.1%
206: Partial Content       1,259       0.1%
401: Authorization Required   35         0%
500: Internal Server Error    20         0%
501: Not Implemented           3         0%
405: Method Not Allowed        1         0%


 
mais si ça se trouve ce statut ne concerne que les images


Message édité par antp le 12-12-2002 à 22:20:24

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°268913
cyp en for​sse
Toggenburg enthusiast
Posté le 13-12-2002 à 11:40:02  profilanswer
 

gm_superstar a écrit :

Des centaines de ligne ???
 
Alors :
 - soit la feuille de style n'est pas du tout optimisée et il y a trop d'élément redondants
 - soit c'est la feuille de style pour un site entier mais dans ce cas ce n'est peut être pas judicieux de faire une seule feuille de style.
 
 
Dans une page HTML on peut linker autant de feuilles de style qu'on veut. Dans ce cas une bonne idée peut être de mettre dans un CSS statique toutes les propriétés qui ne changent pas et dans une autre celles qui sont dynamiques :
 

<link rel="stylesheet" href="dynamic.asp" type="text/css" />
<link rel="stylesheet" href="static.css" type="text/css" />


 
 
De toute façon que les styles soient inclus dans la page HTML ou dans une fichier externe, la quantité de donnée à générer et à transmettre est la même.


 
 
Merci pour l'idée :jap:
 
Mais je pensais que les styles définits dans la feuille CSS etaient inclus dans la page HTML, et visiblement non.
Le feuille CSS est transmise au navigateur ?

n°268919
antp
Super Administrateur
Champion des excuses bidons
Posté le 13-12-2002 à 11:42:25  profilanswer
 

C'est le browser qui va la downloader s'il supporte les CSS
 
J'en profite pour passer un coup de gueule contre IE :

   <link rel="stylesheet" title="Blue" href="main.css.php" type="text/css" />
    <link rel="alternate stylesheet" title="Red" href="main.css.php?c=red" type="text/css" />
    <link rel="alternate stylesheet" title="Green" href="main.css.php?c=green" type="text/css" />
    <link rel="alternate stylesheet" title="Orange" href="main.css.php?c=orange" type="text/css" />
    <link rel="alternate stylesheet" title="Purple" href="main.css.php?c=purple" type="text/css" />


ce con downloade toutes les CSS au chargement de la page alors qu'il ne supporte pas les "alternate stylesheet" :mad: Mozilla/Opera 7 ne les downloadent que quand on les demande (View -> Use style -> ...)


Message édité par antp le 13-12-2002 à 11:42:46

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Question sur les CSS

 

Sujets relatifs
[java] question sur les threads[CSS] faire des boites... [ - Job's Done - ]
Question de "multiplateformage"Question de CSS
[CSS] Question a 1000 balles. prob trop chelouQuestion sur les CSS
[CSS] question bateau[CSS] question con
[HMTL/CSS] Ma dernière question en CSS : Choisir un css par javascriptQuestion pour les costauds en CSS level 2
Plus de sujets relatifs à : Question sur les CSS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR