
Kurz gesagt: ich bräuchte etwas Austausch zum Thema Farbgebung bei Styles und deren Umsetzung.
Dass ich in meinem Style mit SASS arbeite und nicht mit "plain CSS", soll bitte niemanden hier vom Antworten abhalten: SASS ist nur der Werkzeugkasten, der mir dies alles erst ermöglicht, aber die Fragestellung ist davon erst einmal nicht abhängig

Ausgangslage:
Ich will mehrere ausgearbeitete Farbschemata anbieten, zwischen denen dann automatisiert gewechselt werden kann.
Bisher war es so, dass hierfür dann verschiedene Farbvarianten eines Styles als Tochterstyles einer "Basisversion" erstellt wurden - für jede Farbvariante wurde also ein jeweils eigener Style installiert.
Mit SASS lässt sich das vermeiden: für jede Farbvariante des Styles gibt es ein eigenes Farbschema, in dem die Farben definiert werden, und zwischen denen dann umgeschaltet werden kann.
Im Konfigurationsfile des Styles gibt es einen "Schalter", bei dem nur der Name des anzuwendenden Farbschemas gewechselt werden muss - der Rest erfolgt dann automatisch im Hintergrund.
So weit, so gut - prinzipiell funktioniert das auch alles bereits.
Momentan bin ich dabei, aus den groben Demo-Farbschemata "richtige" zu machen, wodurch ich mich jetzt auch auf ein Konzept festlegen muss, wie die Farben dann ihren Weg in die konkreten Stylesheets bzw. Klassen/Eigenschaften finden sollen.
... und da fehlt mir noch etwas die Erfahrung, um beurteilen zu können, was Sinn ergibt oder was nur zu aufgeblähtem Code führen könnte.
Das momentane "Konzept", das mir vorschwebt:
- "Basisfarben" des Schemas definieren bzw. generieren:
- Die bisherigen Stylesheets habe ich, was die anzupassenden Formatierungen betrifft, in neue "Modul-Stylesheets" aufgespalten. Für die wichtigsten Ansichten bzw. Inhalte gibt es ein eigenes Stylesheet, das nur diese Ansicht bzw. Elemente neu formatiert (es enthält also nur diejenigen Selektoren/Eigenschaften, die hierbei von den weiter geltenden prosilver-Originalen abweichen).
- Die Definition der Farbschemata und deren Steuerung erfolgt zentral in einem eigenen Stylesheet, das nur hierzu dient.
- Jedes Farbschema wird 3 bis 5 (bin noch am Basteln ...) fest definierte Farben enthalten, die als "Grundfarben" dienen
- Diese "Grundfarben" des Schemas und einige wenige häufig verwendete Ableitungen aus diesen "primären" Farben (dien durch entsprechende Funktionen berechnet werden) werden dann Variablen zugewiesen, die sich später dann weiter verarbeiten bzw. manipulieren lassen.
Dieser so erstelle Fundus an Basis-Variablen soll dann die Ausgangsbasis für das Formatieren von Eigenschaften in den Modul-Stylesheets billden
- Farben den Klassen/Eigenschaften in den Stylesheets zuweisen:
- In den Modul-Stylesheets fliegen alle bisherigen HEX-Farbwerte raus und werden durch entsprechende Variablen ersetzt
- Damit die Möglichkeit erhalten bleibt, die einzelnen Farben für das jeweilige Modul nochmals dediziert anpassen/manipulieren zu können (und um einem Anwender die Chance zu geben, bestimmte Farben nach eigenen Vorstellungen gezielt austauschen zu können):
Die vorher genannten Variablen erhalten ihre Farbwerte nicht direkt aus dem unter (1) eingerichteten Stylesheet und den dort eingerichteten Variablen, sondern über einen kleinen Zwischenschritt => - Im Kopfbereich des Modul-Stylesheets werden alle in diesem zum Einsatz kommenden Farbvariablen aufgelistet und definiert.
Der Inhalt einer solchen Variablen kann dann entweder aus einer Grundvariablen aus (1) bestehen (wenn deren Farbwert unverändert gelten soll), oder aus dem Ergebnis einer Manipulation einer solchen Basisvariablen (die gleiche Farbe, hier bei einem Element jetzt aber etwas dunkler, heller, blasser etc.) oder aus einem frei zu bestimmenden Farbwert, der bisher noch nicht definiert wurde
Gibt es da etwas, das ich übersehen habe oder gäbe es einfachere Möglichkeiten hierfür, wenn ein Anwender ohne großen Editieraufwand bestehende Farbschemata abwandeln oder neue hinzufügen können soll?
Das Problem für mich ist: falls das Konzept als solches doch klemmen sollte, wirds ein wahnsinniger Aufwand werden, dies neu anzupassen.
Ein paar neue Variablen oder Funktionen für Farbmanipulationen sind schnell ergänzt, aber im Nachhinein nochmals die "Weiterverarbeitung" in Richtungs Stylesheets umzugestalten ...

Wenn etwas unklar sein sollte oder Infos fehlen: bitte nachfragen
