Ich habe eine allgemeine Design-Frage in Bezug auf CSS und Websites. Ich weiß, dass es eine gute Informatik ist, den Code so weit wie möglich zu normalisieren und Doppelarbeit zu vermeiden. Es liegt also nahe, zumindest in der Theorie, wenn man Stylesheets für eine Website organisiert.Organisieren von CSS für große Websites
Als ich also auf meiner neuesten Website anfing, begann ich mit dieser Philosophie. Es funktionierte ok für meine ersten Seiten und während ich nur in Firefox getestet wurde ...
Wie auch immer meine Website wuchs und als ich Seiten, mehrere Layouts (und Browser) hinzugefügt fand ich diese Philosophie wirklich schnell zusammengebrochen. Letzten Endes im Laufe der Zeit ich auf den folgenden Ansatz bewegt haben:
ich für jede Master-Seiten-Layout in meiner Seite eine sehr begrenzte Top-Level-CSS-Datei haben, enthält es Klassen für bekannte Arten in diesem Layout sowie CSS für die Masterseite.
Ich behalte spezifische CSS-Stile für jede Seite.
Ich halte bestimmte CSS-Stile für integrierbare Seitenelemente/Bedienelemente
ich diese Route endete damit, dass ich vertrauen konnte, dass Änderungen auf der einen Seite nicht versehentlich andere Seiten der Site brechen würde resultierende in vielen Regressionsfehlern.
Was machen andere Leute, wenn sie sich diesem nähern? Ist das ein guter/schlechter Ansatz? Ich sehe Nachteile für diesen Ansatz, einige Seiten sind sehr ähnlich, so dass eine signifikante Änderung bedeutet, mehr CSS-Code zu ändern, ich fühle auch, dass die Profis dies auf einer täglichen Basis überwiegen.
Was denken andere Entwickler über diese Philosophie? Gut? Schlecht? Nur neugierig wirklich ...
Für mich ist einer dieser Situationen, wo ich den Unterschied zwischen meinen Idealen gewogen (ich versuche, sehr engen Code zu halten), und die Frustration der sich ändernden Anforderungen auf einer Seite 20 Seiten brechen, weil ich änderte eine div-Breite um ein paar Pixel (zum Beispiel einen Float auf einer anderen Seite zu stören).
Vielen Dank für Ihre Eingabe
Danke für das Feedback auf die Leistung Kosten dafür. Es ist wahrscheinlich eine, mit der ich bereit bin zu leben. Am 1. Punkt der Wartung wird immer härter, persönlich frage ich mich, ob es so geschnitten und trocken ist. Es gibt Vor- und Nachteile für beide. Mit dem Ansatz, den Sie vorgeschlagen haben (und so begann ich), stellte ich fest, dass jedes Mal, wenn css bearbeitet wurde, jede Seite der Website regressionsgetestet werden muss (bei jedem Browser). Wenn Sie Seiten hinzufügen, wächst Ihre Regressionstestmatrix exponentiell (multipliziert mit der Anzahl der Browser) ... Gedanken? – Introgy
+1 für die Erwähnung eines Styleguides. @Introgy, wenn Sie einen HTML-Style-Guide mit einfachen, aber vollständigen Beispielen des Inhalts auf Ihren Seiten führen, ist es einfacher, in mehreren Browsern zu testen. Wenn Sie CSS so verwenden, wie es beabsichtigt ist, sollten Sie nicht jede Seite erneut testen müssen, wenn eine Änderung vorgenommen wird. – PhillFox
+ Danke für all die Hilfe Charles. Ich habe jetzt viel weniger CSS, denke ich, wo ich auf Probleme stieß, habe ich viele sehr einzigartige Formen mit Layout auf jedem, das sehr spezifisch für die Aufgabe war. Danke noch einmal – Introgy