Le CSS dynamique est assez trivial, et même si ses applications sont plus limitées (voir comment le HTML généré dynamiquement avec une feuille de style statique résout la plupart des besoins quotidiens, et le CSS lui-même incorpore quelques mécanismes pour obtenir un semi-dynamique), je ' Je l'ai vu utilisé à de nombreuses reprises, et je les utilise moi-même chaque fois que j'en ai besoin.
Souvent, la partie «dynamique» ne fait guère plus que de combiner plusieurs feuilles de style en une seule (pour réduire le nombre de requêtes HTTP) et de les réduire (pour réduire l'utilisation de la bande passante), mais des choses simples comme la substitution de variables (par exemple, en utilisant des variables pour les couleurs utilisées partout) la feuille de style) peut vous faciliter la vie. Cependant, comme CSS a une syntaxe assez simple avec quelques mises en garde, un système de traitement de texte à usage général ou un langage de script comme PHP est généralement suffisant pour cela, c'est pourquoi vous ne voyez pas beaucoup de systèmes de traitement CSS standard.
Vous les avez peut-être vus à l'état sauvage, sans les reconnaître. Les serveurs qui envoient des scripts dynamiques utilisent généralement la réécriture d'URL de sorte que l'URL ne se distingue pas du contenu diffusé statiquement. Cela est nécessaire car certains navigateurs (notamment IE) s'appuient sur des extensions pour une détection correcte du type MIME dans certaines circonstances, ignorant (ou supprimant) les en-têtes de type de contenu que vous avez pu envoyer.
Concernant la mise en cache: les feuilles de style sont tirées avec les demandes GET, et leur mise en cache est absolument importante pour une expérience utilisateur décente. Vous ne voulez pas regarder la page refluer car elle retélécharge la feuille de style à chaque demande. Au lieu de cela, vous devez placer tous les paramètres qui modifient la sortie de votre traitement de feuille de style dans la chaîne de requête; une chaîne de requête différente produit une URL différente, ce qui entraîne à son tour un échec de cache, donc chaque fois que les paramètres sont modifiés, la feuille de style sera téléchargée à nouveau, même si le client met tout en cache. Si vous avez vraiment besoin d'un CSS qui est potentiellement différent pour chaque demande et qui dépend des effets secondaires, envisagez de mettre la partie non dynamique dans une feuille de style desservie statiquement et ne servez que les éléments dynamiques qui sont absolument nécessaires pour être dynamiques.