Du muss den
HTML-Code halt irgendwie bearbeiten bzw. dem Browser mitteilen, welche CSS-Eigenschaften verwendet werden sollen. Das ginge mit einer TPL-Engine recht einfach, da du diese Platzhalter dynamisch füllen kannst (lediglich die Variable mit dem Platzhalter-Inhalt über PHP an die Engine senden).
Ich wüsste nicht, wie man sonst sagen kann, dass in bestimmten Situationen andere Klassen/Eigenschaften verwendet werden sollen.
Aber ich bin auch nicht allwissend, vielleicht gibt es andere Möglichkeiten.

Ich mach's bei mir wie oben beschrieben.