Einzelne Seiten, einzelne CSS Dateien

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich bekam neulich eine Frage von jemandem, der neugierig war, wie ich mit CSS mehrere verschiedene Seitenstile und Layouts auf einer Website handhabe. Ich denke, das ist ein sehr häufiges Szenario. Zum Beispiel gibt es eine Homepage, die sich von Ihren Blog-Post-Seiten, der Über-uns-Seite und der Kontaktseite unterscheidet.

Hier sind einige Überlegungen

Es sollte immer eine Haupt-Stylesheet geben

Höchstwahrscheinlich gibt es auf den Seiten der Website viele Ähnlichkeiten. Wahrscheinlich sogar gemeinsame Elemente wie Header, Footer und Navigation. Die Typografie ist wahrscheinlich auf allen Seiten ziemlich konsistent (wenn nicht, sollten Sie dafür auf jeden Fall einen guten Grund haben). Wahrscheinlich gibt es ein Layout, das auf allen Seiten am häufigsten vorkommt. Diese Dinge gehören in eine Haupt-Stylesheet, die auf ALLEN Seiten geladen werden kann.

Wie unterschiedlich sind die verschiedenen Seiten? Und wie viele gibt es?

Nehmen wir an, die Kontakt-Seite hat ein Kontakt-Formular darauf. Dieses Formular hat spezielle Stile und wird sonst nirgends auf der Website verwendet. Es erscheint mir verschwenderisch, all diese Stile in die Haupt-CSS-Datei aufzunehmen. Das ist eine Menge CSS, die auf den 99% der Seiten, die es nicht benötigen, geladen wird. Gibt es viele Seiten wie diese?

Einzelne Seiten, einzelne CSS-Dateien

Mein persönlicher Stil in diesen Situationen ist, die Haupt-Stylesheet auf jeder Seite zu laden und dann, falls erforderlich, eine zusätzliche, einzigartige für diese Seite (oder diesen "Seitentyp") zu laden.

Gegenargumente

Nicht jeder wird dieser Methode zustimmen. Viele Leute sagen, dass jede Webseite genau eine CSS- und JavaScript-Datei haben sollte. Das bedeutet weniger HTTP-Anfragen und eine schnellere Seite, richtig? Ich denke, das stimmt oft, aber wenn es auf Kosten von größeren als notwendigen Dateien geht, was dann? Und wenn man bedenkt, dass es ein Rückschlag für die Organisation ist, denke ich, dass mehrere CSS-Dateien es wert sind.

Warum ich denke, dass das funktioniert

In den allermeisten Fällen werden Sie keine 100 verschiedenen Layouts haben. Wenn doch, sollten Sie wahrscheinlich einen Schritt zurücktreten und überdenken, was auf dieser Website vor sich geht. Wenn Sie wirklich 100 Layouts benötigen, sollten Sie sich nach einem Grid-basierten Framework umsehen. Ich würde niemals dafür plädieren, 100 verschiedene einzigartige Stylesheets für jede dieser Seiten zu erstellen. Das liegt jenseits der Grenzen einer vernünftigen Nachhaltigkeit und widerspricht dem Geist von CSS. Aber für viele, viele Websites mit einer Handvoll verschiedener Seitenstile und ein paar Exoten ist dies sicherlich meine bevorzugte Methode.