Hi Rudoph2000 (2004?).
Wie so oft, gibt's mehrere Wege die zum Ziel führen...
1. Der einfachste: Wenn's nur um die Farben für Schrift, Hintergründe, Rahmen und Formular-Elemente geht, ist wahrscheinlich CSS die beste Wahl. Wenn du alle CSS-Definitionen in eine einzelne externe Datei auslagerst und mit jeder HTML-Seite verlinkst, kannst du recht einfach den Look ändern. Auch "dynamisches" Einbinden mehrerer CSS-Dateien ist via JavaScript oder etwas PHP/Perl/ASP/etc. kein Problem.
2. Der etwas kompliziertere: Alle Farbdefinitionen werden aus einer includierten PHP (oder sonstwas) -Datei gelesen. Hat den Vorteil, dass man z.B. auch die Farbangaben im <body link="">-Tag ändern kann, was NS 4.x freut, der sich mit dem entspr. CSS-Code bisweilen etwas schwer tut. Auch lassen sich auf diese Weise natürlich alle Breiten- und Höhenangaben leicht anpassen.
Alternativ kannst du diese Angaben natürlich auch aus einer Datenbank ziehen. Ich kann mir allerdings momentan keinen Vorteil vorstellen, sondern nur den Nachteil des Overheads und dem damit verbundenen Performance-Verlust.
Generell zu Buttons:
Wenn Deine Buttons Grafiken sind, wird's problematisch. Prinzipiell besteht zwar die Möglichkeit, Grafiken zur Laufzeit dynamisch zu generieren (z.B. via GD-Library), praktisch ist das jedoch oft kaum möglich, z.B. wenn man Kantenglättung oder weiche Schatten haben möchte. Hierzu empfiehlt sich also ein Fundus vorproduzierter Buttons in n-Variationen.