全部博文(2065)
分类:
2009-09-18 16:08:55
许多网站都提供换肤的功能,这种动态CSS的换肤技术通常是通过Javascript来实现,比如你可以准备两个CSS样式文件(分别定义不同的颜 色,背景图等等),当用户点击选择某个样式后,触发自定义Javascript函数来更改CSS。但在这篇文章里,我要介绍的不同的方法,即使用PHP来 控制页面的CSS样式。和Javascript的方法相比,这种方法应该算是真正意义上的动态CSS,因为它是用PHP输出CSS样式文件。例如:通过 PHP函数,我们可以在一天的不同时段或者某个特别的日子(例如圣诞节),输出不同的CSS样式。
先看看,接下来要介绍如何实现这一特效。
首先使用HTML的link标签引用外部CSS样式文件:
<head><link rel="stylesheet" type="text/css" href="style.php" />head>
注意: 这里被引用的css文件不是常规的.css文件,而是.php文件。
然后在style.php文件里,根据需要定义一些变量,然后输出css文件:
php("Content-type: text/css");$ntime=("G"); //取得现在的时间(小时)$ntime += 8; //因为服务器的时间不准,所以这里做了些调整($ntime>=0 and $ntime<11){$bg = '#ffc';$font_color = '#222';}($ntime>=11 and $ntime<14){$bg = '#c36';$font_color = '#fff';}($ntime>=14 and $ntime<18){$bg = '#9cc';$font_color = '#555';}{$bg = '#333';$font_color = '#ffc';}?>body {background:php "$bg" ?>;color:php "$font_color" ?>;}a {color:php "$font_color" ?>;}a:hover {text-decoration:none;}
上面的PHP代码只是根据不同的时间段,定义背景和字体颜色。在实际运用中,你还可以根据不同的节日来设置CSS的属性变量。总之,你可以根据需要,使用PHP来完全控制CSS。特别注意:在PHP文件的顶部要先送出一个Header:header("Content-type: text/css");
表明输出的类型为CSS。