2010-02-27 114 views
0

我正在使用需要skinnable /品牌的CSS構建一個網站。在技​​術方面,對於每個「品牌」,我在數據庫中都有一組五個顏色值。全球CSS配色方案/皮膚

我想要做的是構建CSS文件,以便整個站點的顏色方案統一,顏色被重用,所以我可以在一個地方更改值,它會更改整個站點。概念將是這樣的:

.SiteBaseColor {顏色:赭石;}

p {字體大小:50;顏色:SiteBaseColor;}

有沒有辦法來完成這樣的事情?

+0

繼續@ Pekka的評論,我會解釋* how *。以防萬一。在提供給您的問題的每個答案旁邊都有一個勾號的大綱。點擊除了您感覺最佳答案的答案之外的刻度線**您的問題。如果** no **爲您解答,**編輯問題**以更好地解釋您的問題。 – 2010-02-27 17:14:12

回答

1

,但我的選擇將sass其中,我認爲,是小於..

使用CSS預處理程序,你可以寫比在6個不同的CSS文件只是改變顏色變量每次編譯一個青菜文件廣告強大...

但是,如果您必須從數據庫中提取顏色,則可以使用php sni更簡單在css文件中的位置..

5

爲什麼不只寫6個CSS文件?一個用於所有內容(沒有方案顏色)和一個顏色。 然後你只需要包含你需要的一個。

如果通過PHP生成它一樣的,只是讓5個不同的入口點的模式,包括正確的...

+0

我想避免這種情況,所以如果更改非顏色相關屬性,我不必更改6個樣式表。 – CodeGrue 2010-02-27 19:01:21

+1

這部分應該放在主要的css文件中......只有主題相關的定義應該放在5個主題-css中。 – 2010-02-27 20:22:37

+0

這更符合CSS設計的使用方式。因此,'層疊':將一個樣式表層疊到另一個樣式表上。 LESS和xCSS是整潔的應用程序,但它們並非真正必要。 – 2013-02-21 19:54:13

4

可悲的是,CSS不支持變量。你將不得不使用CSS預處理程序像LessxCSS,或者使用PHP代碼片段:如果你想調查預處理的選擇(我最喜歡的這種情況下)我同意佩卡

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

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

是否有.NET相當於這些PHP片段? – CodeGrue 2010-03-25 13:20:38

+0

取決於你的語言,它應該很簡單:定義一個變量並輸出它。 – 2010-03-25 14:28:41