Moin!
Ueblicherweise teile ich meine Stylesheets in 4, 5 Dateien ein, die in etwa den einzelnen Bereichen der Seite entsprechen. Diese importiere ich dann ueber ein weiteres Stylesheet. Vom Gesichtspunkt der Uebersichlichkeit aus ist das fuer mich auch eine gute Loesung, die ich nicht ohne weiteres aufgeben moechte.
Aus demselben Grund (Einfachheit für den Seitenautor) sind Frames beliebt. Das heißt ja aber nicht, dass das immer die beste Lösung ist. :)
Was wuerdest du denn davon halten, die einzelnen Dateien anstatt per CSS-import mit PHP zusammenzufuehren. Das wuerde zwar die Serverlast erhoehen, aber die Zahl der Requests herabsetzen.
Nacheinander ein paar Dateien aneinanderzukopieren ist ja kein Aufwand. Das Problem dabei ist aber: PHP setzt standardmäßig "bitte nicht cachen"-Header, die bei "normalen" CSS-Dateien fehlen. Im Resultat würdest du damit hervorrufen, dass die einzelne CSS-Datei jedes Mal neu abgerufen würde, während deine alte Variante ab der zweiten Seite aus dem Cache bedient wird.
Solch ein Zusammenkopieren wird also nur dann wirklich zu einer besseren Lösung (sowohl auf Seiten des Autors, als auch auf Seiten des Lesers), wenn man wirklich alles "richtig[tm]" macht.
Wer also anfängt, mit der HTTP-Header-Größe und der Requestzahl zu argumentieren, darf bei hilfreichen, trafficvermeidenden HTTP-Headern nicht aufhören.
Das wiederum macht es aber auf Serverseite kompliziert. Entweder bringst du die Disziplin oder den Extraaufwand auf, dein CSS jedesmal manuell zu einer einzigen Datei zusammenzukopieren (ein Editor mit Codefolding könnte dasselbe Resultat der Übersichtlichkeit auch ohne den Extraaufwand erzielen) - dann belastet das den Server absolut nicht, und das "LAST_MODIFIED" dieser Sammeldatei geht direkt in den Cachingmechanismus ein.
Oder du läßt ein Skript automatisiert zusammenkopieren - und mußt dann wegen des Cachings und der daraus resultierenden "IF_MODIFIED_SINCE"-Abfragen von Browsern feststellen, wann deine zusammenkopierte Datei denn tatsächlich das letzte Mal geändert wurde. Das ist überschlagsmäßig das jüngste Datum aller beteiligten Einzeldateien. Also prüfst du die Änderungsdaten aller Dateien bei jedem Requests, vergleichst mit der Datumsangabe von IF_MODIFIED_SINCE, und sendest fallweise ein Update, oder den "Cache ist noch gültig"-HTTP-Code (war 304, IIRC).
- Sven Rautenberg
"Love your nation - respect the others."