2010-09-25 84 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天更改一次数值。