Bonsoir,
La première question à se poser à mon sens est pourquoi plusieurs styles?
Si c'est pour les utilisateurs ou pour le développeur de la page ou bien pour présenter le même contenu pour des médias ou des rendus différents.
Pour l'utilisateur on peut proposer une présentation avec des styles alternatifs qui par exemple propose le même contenu sur un navigateur graphique avec des caractères plus grands, ou bien encore un contraste meilleur entre le texte et le fonds de la page.
Un developpeur de page web peut souhaiter "switcher" entre plusieurs versions d'une feuille de style à fin de comparaison et tests.
Des styles différents suivant les médias de destinations que ce soit pour une lecture dans un navigateur graphique, destiné à être imprimé, faire de ses pages web une présentation etc. et tout cela avec le même document html.
Plusieurs solutions existent, les navigateurs modernes supportent les feuilles de styles alternatives (Firefox, Opera...) et un appel:
<link rel="alternate stylesheet" type="text/css" media="print" title="pour l'impression" />
dans le head peut-être suffisant.
Si tu souhaites proposer des présentations différentes à tes visiteurs il existe des *styles switcher* qui se présentent souvent sous la forme de menus déroulants et qui permettent de recharger la page avec le style de son choix. Cette solution étant le plus souvent choisie par l'absence de support des *alternate stylesheet* par le navigateur dominant.
Concrètement proposer sur une page la possibilité de changer de style peut se traiter par le code (les fonctionnalités du navigateur), par le serveur (via php par exemple), via javascript (utiliser les ressources du visiteurs).
Une petite recherche sur
A List Apart devrait donner des résultats, sinon
un style switcher en php
Sur le web encore une réflexion de
fastclemmy sur l'utilité des style switcher.