Dynamisches CSS ist ziemlich trivial, und obwohl seine Anwendungen eingeschränkter sind (da dynamisch generiertes HTML mit einem statischen Stylesheet die meisten alltäglichen Anforderungen erfüllt und CSS selbst einige Mechanismen zur Erzielung von Semidynamik enthält), ist Folgendes zu beachten: Ich habe es schon oft gesehen und benutze es selbst, wann immer es nötig ist.
Häufig reicht der "dynamische" Teil nicht aus, mehrere Stylesheets zu einem zu kombinieren (um die Anzahl der HTTP-Anforderungen zu verringern) und sie zu minimieren (um die Bandbreitennutzung zu verringern), aber einfache Dinge wie die Variablensubstitution (z. B. die Verwendung von Variablen für durchgehend verwendete Farben) das Stylesheet) kann Ihnen das Leben erheblich erleichtern. Da CSS jedoch eine recht unkomplizierte Syntax mit wenigen Einschränkungen aufweist, ist in der Regel ein universelles Textverarbeitungssystem oder eine Skriptsprache wie PHP ausreichend, weshalb Sie nicht viele Standard-CSS-Verarbeitungssysteme sehen.
Vielleicht haben Sie sie in freier Wildbahn gesehen, ohne sie zu erkennen. Server, die dynamische Skripts senden, verwenden in der Regel eine URL-Umschreibung, sodass die URL nicht mehr von statisch bereitgestellten Inhalten unterschieden werden kann. Dies ist erforderlich, da einige Browser (insbesondere der Internet Explorer) unter bestimmten Umständen auf Erweiterungen angewiesen sind, um den MIME-Typ korrekt zu erkennen. Eventuell gesendete Content-Type-Header werden ignoriert (oder verworfen).
In Bezug auf das Zwischenspeichern: Stylesheets werden mit GET-Anforderungen abgerufen, und ihre Zwischenspeicherung ist für eine anständige Benutzererfahrung absolut wichtig. Sie möchten den Seitenfluss nicht beobachten, da das Stylesheet bei jeder Anforderung erneut heruntergeladen wird. Stattdessen sollten Sie alle Parameter, die die Ausgabe Ihrer Stylesheet-Verarbeitung ändern, in die Abfragezeichenfolge einfügen. Eine andere Abfragezeichenfolge ergibt eine andere URL, die wiederum einen Cache-Fehler verursacht. Wenn also die Parameter geändert werden, wird das Stylesheet erneut heruntergeladen, auch wenn der Client alles zwischenspeichert. Wenn Sie wirklich CSS benötigen, das für jede Anforderung möglicherweise anders ist und von Nebenwirkungen abhängt, ziehen Sie in Betracht, den nicht dynamischen Teil in ein statisch bereitgestelltes Stylesheet einzufügen und nur die Dinge dynamisch bereitzustellen, die unbedingt dynamisch sein müssen.