2010-02-27 8 views
0

Je suis en train de créer un site utilisant CSS qui doit être skinnable/brandable. En termes techniques, pour chaque "marque" j'ai un ensemble de cinq valeurs de couleur dans une base de données. Ce que je veux faire est de construire des fichiers CSS pour que le schéma de couleurs du site entier soit unifié et que les couleurs soient réutilisées, ainsi je peux changer la valeur à un endroit et changer le site entier. Le concept ressemblerait à ceci:Global Color Scheme/Skin

.SiteBaseColor {color: sienna;}

p {font-size: 50; couleur: SiteBaseColor;}

est-il un moyen d'accomplir quelque chose comme ça? Pourquoi ne pas simplement écrire 6 fichiers CSS?

+0

Suite au commentaire de @ Pekka, je vais vous expliquer * comment *. Au cas où. À côté de chaque réponse à votre question, vous trouverez un aperçu d'une coche. Cliquez sur la case à cocher en plus de la réponse que vous sentez ** meilleures réponses ** votre question. Si les réponses ** non ** vous conviennent, ** modifiez la question ** pour mieux expliquer votre problème. –

Répondre

1

Si vous voulez enquêter sur le choix de préprocesseur (mon préféré pour ce cas) Je suis d'accord avec Pekka, mais mon choix serait sass qui, je pense, est puissant que moins ..

l'utilisation d'un préprocesseur css vous pouvez écrire une annonce fichier SASS que compiler dans 6 différents fichiers CSS simple fait de changer les variables de couleur à chaque fois ...

Mais, si vous devez extraire les couleurs d'une base de données, il est peut-être plus simple d'utiliser php sni ppets dans le fichier css ..

5

Un pour tout le contenu (sans le schéma-couleur) et un par couleur. Ensuite, vous venez d'inclure celui dont vous avez besoin.

Le même si vous générez par php, il suffit de 5 différents points d'entrée pour les schémas et comprennent la bonne ...

+0

Je voulais éviter cela afin de ne pas avoir à changer 6 feuilles de style si je change les attributs non liés à la couleur. – CodeGrue

+1

Cette partie devrait aller dans les fichiers css principaux ... Seules les définitions liées au thème devraient aller dans le 5-thème CSS. –

+0

Ceci est beaucoup plus en ligne avec la façon dont CSS a été conçu pour être utilisé. D'où le 'Cascading': superposition d'une feuille de style sur une autre. LESS et xCSS sont des applications soignées, mais elles ne sont pas vraiment nécessaires. –

4

Malheureusement, CSS ne supporte pas les variables. Vous devez utiliser un préprocesseur CSS comme Less ou xCSS, ou utiliser des extraits PHP:

<? $ourColor = "#FF0000"; ?> 

..... 
div.content { color: <?php echo $ourColor; ?> } 
+0

Existe-t-il un .NET équivalent à ces snippets PHP? – CodeGrue

+0

Selon votre langage, cela devrait être simple: définir une variable et la sortir. –