css squelettes - encodage et documents

Bonjour,

il y a peu de documentation sur internet sur les boucles et les css (enfin... je trouve) je n'ai vraiment trouvé que ceci : http://www.guiderdoni.net/Comment-faire-une-feuille-de-style.html

J'aimerai savoir si cela est facilement réalisable et si vous l'encodage utf-8 est vraiment gênant (car mon site est en utf- 8 ... ) ?

Par ailleurs , mon site est divisé par secteur/langue... et chaque secteur doit avoir une esthétique différente. Est-ce techniquement possible avec une seule feuille de style squelette ou faut-il maintenir plusieurs feuilles de style en fonction du secteur/langue* ?

Par exemple, à partir du logo d'un article j'habille mon fond. Et le fond est différent si on est dans la partie française ou la partie anglaise
Cela fonctionne avec le CSS inline mais je voudrai alléger tout ceci.

Merci de votre aide.

Vincent

*par exemple mettre dans le squelette moncss[(#lang)].css qui pointera vers une feuille de style moncssfr.css pour le français , moncssen.css pour l'anglais etc.

Bonjour,

Le mieux dans ce cas est de diviser le travail en deux CSS: l'une générale qui est appelée en premier et contient toutes les définitions. La seconde appelée ensuite est dépendante de la langue et permettra de surcharger certains paramètres définis dans la css globale. La méthode consistant a nommer la css en fonction de la langue et a reconstituer son nom en fonction de #LANG me semble pas mal :slight_smile:

L'avantage de cette méthode est que la css globale est toujours en cache et existe même en cas d'absence d'un des fichiers spécifiques. En cas de bug ou de définition d'une nouvelle langue, ca limite la casse. Autre point, si un utilisateur change de langue, la css globale qui est la plus grosse est déja présente dans son cache de navigateur.

Bon tests !

Vincent

Merci pour ta réponse.

Une autre astuce consisterait à faire correspondre les styles dans l’html avec les class et div : exemple dans le squelette :article

et dans la feuille de style CSS /squelette
#header[(#lang)]{height:100px;text-align:left}
.menugauche[(#lang)]{color:black;font-size:large; }

Le souci est que je ne vois pas comment il va calculer pour le cache tous les css avec toutes les langues… (ou comment passer au fichier css les paramètres #lang ou #ID_SECTEUR

A développer et tester… C’est juste une piste en attendant.

Et concernant l’encodage ? Personne ne sait ?

Bonne journée.

Vincent

Le 27 février 2010 12:08, Vincent <vincent@logaweb.fr> a écrit :

Bonjour,

Le mieux dans ce cas est de diviser le travail en deux CSS: l’une générale qui est appelée en premier et contient toutes les définitions. La seconde appelée ensuite est dépendante de la langue et permettra de surcharger certains paramètres définis dans la css globale. La méthode consistant a nommer la css en fonction de la langue et a reconstituer son nom en fonction de #LANG me semble pas mal :slight_smile:

L’avantage de cette méthode est que la css globale est toujours en cache et existe même en cas d’absence d’un des fichiers spécifiques. En cas de bug ou de définition d’une nouvelle langue, ca limite la casse. Autre point, si un utilisateur change de langue, la css globale qui est la plus grosse est déja présente dans son cache de navigateur.

Bon tests !

Vincent


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Bonjour,

Pour ma part, j'éliminerais directement les #LANG dans le corps des squelettes: ça alourdit sacrément les choses.
En fait, ce que je suggérais est de ne pas employer de squelette du tout pour tes CSS, simplement une css principale, et une css spécifique conditionnée par LANG.
Donc j'opterais pour une seule feuille de style globale et ensuite pour une par langue surchargeant les sections spécifiques à modifier.

Si tu as impérativement besoin de passer par des squelettes, il est toujours possible d'avoir cette css principale qui soit statique, et une css fille qui soit conditionnée par une variable.
Auquel cas, il te faudra l'appeler en lui passant un paramètre dans l'url, sinon, elle n'aura pas connaissance de ta variable lang. ( dans le fichier, tu récupères tes billes avec #ENV ).
( quelque chose du type : <link rel='stylesheet' href='/spip.php?page=style.css&lang=#LANG' type='text/css' /> et dans le fichier style.css.html , tu récupères lang)

Concernant le charset, je n'ai jamais eu de soucis avec l'utf8. Maintenant, faire quelques tests par sécurité ne mange pas de pain ^^

Bonjour,

Merci Vincent pour cette réponse.
Je vais faire les tests et je « reviendrai » sur cette question au cas où.

Bonne journée.

Vincent

Le 3 mars 2010 17:09, Vincent <vincent@logaweb.fr> a écrit :

Bonjour,

Pour ma part, j’éliminerais directement les #LANG dans le corps des squelettes: ça alourdit sacrément les choses.
En fait, ce que je suggérais est de ne pas employer de squelette du tout pour tes CSS, simplement une css principale, et une css spécifique conditionnée par LANG.
Donc j’opterais pour une seule feuille de style globale et ensuite pour une par langue surchargeant les sections spécifiques à modifier.

Si tu as impérativement besoin de passer par des squelettes, il est toujours possible d’avoir cette css principale qui soit statique, et une css fille qui soit conditionnée par une variable.
Auquel cas, il te faudra l’appeler en lui passant un paramètre dans l’url, sinon, elle n’aura pas connaissance de ta variable lang. ( dans le fichier, tu récupères tes billes avec #ENV ).
( quelque chose du type : et dans le fichier style.css.html , tu récupères lang)

Concernant le charset, je n’ai jamais eu de soucis avec l’utf8. Maintenant, faire quelques tests par sécurité ne mange pas de pain ^^


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc