如何在php文件中编写css类?
我正在创建一些动态模板,我有一个问题,我想在外部CSS文件中使用PHP变量 示例: 如果样式表是如何在php文件中编写css类?,php,css,dynamic,Php,Css,Dynamic,我正在创建一些动态模板,我有一个问题,我想在外部CSS文件中使用PHP变量 示例: 如果样式表是styles.css,然后我想将此文件用作styles.php,这样我就可以使用此文件中的变量使css动态化 我该怎么办。 提前感谢。使用.htaccess文件和以下行: AddType应用程序/x-httpd-php.css 这将使您的服务器解析.css文件,就像它们是.php一样 将文件重命名为styles.php(或者将服务器配置为在CSS文件中运行php解释器) 发送适当的内容类型标题: he
styles.css
,然后我想将此文件用作styles.php
,这样我就可以使用此文件中的变量使css动态化
我该怎么办。
提前感谢。使用.htaccess文件和以下行: AddType应用程序/x-httpd-php.css 这将使您的服务器解析.css文件,就像它们是.php一样
styles.php
(或者将服务器配置为在CSS文件中运行php解释器)内容类型
标题:
header('Content-Type: text/css');
<?php
header('Content-Type: text/css');
$a = '#123456';
$b = '#654321';
?>
body > a {
color: <?php echo $a ?>;
}
正文>a{
颜色:;
}
生成动态生成的CSS文件的问题是它们不会被缓存。您将强制用户至少两次访问服务器:一次用于php输出,一次用于css
如果只做CSS动态中的几个小部分,考虑创建一个具有适当默认值的常规标准CSS文件,然后让PHP页输出一个合适的<代码> <代码>块,以解决重写。这样,您的主CSS文件就可以被缓存,而您只需在PHP文件中额外输出几行就可以获得动态样式。
我知道这很旧,但@MarcB在缓存方面是不正确的 这是一个可缓存的php CSS版本<?php
ob_start ("ob_gzhandler");
header("Content-type: text/css; charset: UTF-8");
header("Cache-Control: must-revalidate");
$offset = 60 * 60 ;
$ExpStr = "Expires: " .
gmdate("D, d M Y H:i:s",
time() + $offset) . " GMT";
header($ExpStr);
$blue="#00f";
$red="#f00";
$green="#0f0";
?>
#div{
color:<?=$blue?>;
background:<?=$red?>
}
#div{
颜色:;
背景:
}
您可能还想在其中添加一些“不要缓存我”的标题。(或者我只是有点偏执。):-)使用服务器配置代替头文件有任何缺点,反之亦然。听起来很合适,但所有的.css文件都将由PHP解析。如果他仍然使用大量的“遗留”静态CSS,则性能会略有下降。无论如何+1感谢这一点,但我想知道我应该用什么。php文件中的header()或.htaccess文件中的配置设置。它克服了时间开销以及服务器级问题(如果有)或页面加载问题。@djechelon,是的-这应该考虑在内。我以前提出的一个解决方案是使用静态CSS文件命名,扩展名为常规的.CSS,但PHP生成的文件名为*.pcss,然后,my.htaccess中的行将是AddType application/x-httpd-php.pcss,这样就不用处理静态CSS文件了。