2010-09-25 24 views
1

我將開始一個網站,其要求是每2周後更改一次配色方案。php css-less可動態更改css設計的網站

我正在尋找一個動態的解決方案,以改變顏色和一些網站的結構使用css & php。

一種解決方案,我可以使用動態的CSS方法例如

<?php 
header("content-type: text/css"); 
$mencolour = "#ff0000"; 
echo 'h1 {color:$menucolor} 
?> 

其它溶液看是使用一些PHP類來完成相同的任務。 例如一個可在phpclasses網站上獲得。 http://www.phpclasses.org/package/6482-PHP-Parse-and-process-Leaner-CSS-files.html

有沒有其他更好的方法來做到這一點?如果有人使用了上述兩種方法,那麼使用它們會有什麼缺點。

需要一些專家的意見:)

+0

將顏色循環,即你會有一套說12種不同的顏色,然後重新啓動,或者他們會不斷改變? – buggedcom 2010-09-25 18:28:27

+0

很可能顏色和結構的數量是固定的。 – Developer 2010-09-25 18:45:41

回答

2

Sass是一種流行的CSS預處理器,除其他事項外,允許您使用變量在CSS中,對於像你的配色方案。當你改變它的時候你會編譯CSS,所以不需要每次加載時都運行PHP腳本的開銷。 (是的,你可以寫在PHP自己的高速緩存系統,但沒有必要重做別人的辛勤工作; d)

$menu-color: #123456; 

#menu { color: $menu-color; } 
+0

我正在用css&php尋找解決方案,正如我在我的問題中提到的那樣。沒有任何預處理器安裝:) – Developer 2010-09-25 20:16:40

+0

@Ghost - 要清楚,它不是必須安裝在您的服務器上的東西:您只需在家庭計算機上運行它,然後再將網站推送到現場,並生成一個完全靜態的' .css'文件。在開發箱上安裝Ruby(運行Sass)時是否存在特定問題? – Matchu 2010-09-25 20:55:46

1

你可以使用體類來更改主題:

/* Base style */ 
h1 { color: grey; } 

.spring h1 { color: green; } 
.summer h1 { color: yellow; } 
.fall h1 { color: orange; } 
.winter h1 { color: blue; } 

要更改主題,只需添加對身體的類:

<body class="fall"> 
    <h1>The leaves are falling!</h1> 
</body> 
0

考慮到這是在2周的安排,發射了動態生成的css文件是矯枉過正。提供一個可以由PHP生成的靜態.css文件會容易得多。這樣你就不必混淆輸出緩存頭和什麼東西 - 文件將像其他靜態文件一樣被緩存。

使用cron一個類似的定時作業工具來重建.css文件,只要你需要這些顏色的變化發生。

默認情況下,PHP方法會導致客戶端重新向服務器查詢每次命中的更改。這是對帶寬和CPU時間的浪費,只是爲了每14天更改一次數值。