<C²: webløg />

Courriel - email address

Avatar Denis

mardi 06 mai 2003
par Denis Boudreau

OpenWeb et CSS alternatives

En réponse à un pompeur sur l'excellente liste du même nom qui se questionnait sur la procédure utilisée par OpenWeb pour réaliser le styleSwitching, le non moins excellent Emmanuel Clément nous sert une réponse qui mérite largement d'être diffusée à l'échelle planétaire. Pour les biens de la cause et dans le plus grand respect de l'intégrité de la discussion, je vous transmet le tout, scéance tenante :

Quelqu'un peut-il m'expliquer comment le système pour changer l'habillage du site openweb fonctionne ? J'ai vu qu'il y a des css alternatives, mais je ne comprends pas à quoi elles servent, car j'ai l'impression qu'il y a du php derrière et que c'est php qui permet de faire le choix de la css. Dans le code, on voit qu'il y a un formulaire qui renvoie sur un index.php, et on voit ceci au lancement :

<link rel="stylesheet" type="text/css" href="/style/original/screen.css" media="screen" title="Normal" />

Quand on change de thème, cette ligne devient :

<link rel="stylesheet" type="text/css" href="/style/fondnoir_medium/screen.css" media="screen" title="Fond noir/gros caractères" />

Donc, je ne vois pas l'intérêt de la déclaration des css alternatives dans le code, on peut se débrouiller en php pour obtenir le même effet. Qqu'un peut m'expliquer ce qui a dû m'échapper, ou ce que j'ignore sur les css alternatives ?

Réponse d'Emmanuel Clément :

En réalité c'est tout l'inverse, enfin presque. La déclaration CSS est plus pertinente dans le code, et moins dans le switcher php. Nous utilisons le "switcher" dynamique pour changer les feuilles de styles, parce que les navigateurs ne sont pas encore totalement au point sur la prise en charge des CSS alternatives. Internet Explorer est - encore une fois - le pire pour cela. Il n'offre aucune solution pour la prise en charge des CSS alternatives. Pour les utiliser, on est obligé de passer par un switcher.

Mozilla en revanche est plus performant. Il prend en charge les CSS alternatives directement via le menu "Affichage > Style", à partir duquel on peut faire varier les CSS. Malheureusement, le changement de style n'est actif que sur la page affichée. Dès que l'on change de page sur le site, Mozilla revient à nouveau sur la CSS par défaut. Le switcher s'avère alors très utile car il permet de réparer ce défaut. A l'aide d'un cookie on peut maintenir le style choisi actif sur toutes les pages, sans avoir à refaire la sélection à chaque fois.

Personnellement je n'attends qu'une chose : que les navigateurs (Mozilla le premier peut-être ?) prennent encore mieux en charge les CSS alternatives (et leur persistance sur un site entier) afin que l'on puisse enfin laisser tomber les switchers intégrés dans la page. D'autant qu'ils offrent certaines limitations. En l'occurence, si l'on interdit les cookies sur OpenWeb, le switcher ne marche plus. Le menu "Affichage > Styles" oui par contre.

De façon générale, varier les CSS est une fonction qui revient au navigateur, pas à du code dans la balise <body> . A mon sens du moins :-)

J'aurais difficilement pu mieux l'expliquer moi-même. Alors, l'utilité des feuille de style déclarées alternatives par opposition au styleSwitcher, c'est clair pour tout le monde ?

Denis Boudreau | 2003.05.06 @ 09:34

Alors, qu'en pensez-vous ?

Voici ce que vous aviez à en dire... vos impressions, recueillies à vif.

Ce carnet n'a pas encore été commenté. Avez-vous envie de briser la glace ?

Les commentaires et trackbacks sont désormais fermés. Pour toute remarque, vous pouvez toujours nous contacter.

Pisteur (Trackback)