動的なCSSはかなり単純であり、そのアプリケーションはより制限されていますが(静的なスタイルシートで動的に生成されたHTMLが日々のほとんどのニーズをどのように解決し、CSS自体が半動的を達成するためのいくつかのメカニズムを組み込んでいるのを見て)、私は多くの場合に使用されるのを見てきましたが、必要なときにいつでも自分で使用します。
多くの場合、「動的」な部分は、複数のスタイルシートを1つに組み合わせて(HTTPリクエストの数を減らす)、それらを最小化する(帯域幅の使用量を減らす)だけでなく、変数置換(たとえば、全体で使用される色の変数を使用する)スタイルシート)はあなたの人生をずっと楽にします。ただし、CSSには警告がほとんどないかなり単純な構文があるため、通常は汎用のテキスト処理システムまたはPHPのようなスクリプト言語で十分です。そのため、多くの市販のCSS処理システムは表示されません。
たぶん、あなたはそれらを認識せずに、野生で見たことがあります。動的なスクリプトを送信するサーバーは通常、URLの書き換えを使用して、URLが静的に提供されるコンテンツと区別できないようにします。一部のブラウザ(特にIE)は、特定の状況下でMIMEタイプを正しく検出するために拡張機能に依存し、送信したContent-Typeヘッダーを無視(または破棄)するため、これが必要です。
キャッシングについて:スタイルシートはGETリクエストで取り込まれ、適切なユーザーエクスペリエンスのためにキャッシュ可能にすることは絶対に重要です。リクエストごとにスタイルシートが再ダウンロードされるため、ページのリフローを見たくありません。代わりに、スタイルシート処理の出力を変更するすべてのパラメーターをクエリ文字列に配置する必要があります。異なるクエリ文字列は異なるURLを生成するため、キャッシュミスが発生するため、クライアントがすべてをキャッシュしても、パラメーターが変更されるたびにスタイルシートが再ダウンロードされます。リクエストごとに異なる可能性があり、副作用に依存するCSSが本当に必要な場合は、非動的部分を静的に提供されるスタイルシートに入れ、動的であることが絶対に必要なものだけを動的に提供することを検討してください。