【发布时间】:2012-02-25 17:24:07
【问题描述】:
我正在开发一个新的大型 PHP / Symfony 2 项目,并决定使用 Sass / SCSS 和 Compass,我发现它们都非常适合以现代方式管理 CSS。但是,仍然有一个问题我找不到答案:如何将 PHP 变量放在原始 SCSS 文件中,并将它们保留在输出的 CSS 文件中?
这不是一个细节,因为没有这个功能,就无法将 Sass 生成的样式表与 PHP 接口,这在一些大型项目中可能会受到限制。
明确地说,作为一个起点,我们可以以经典的方式将 CSS 与 PHP 接口,主要如下所示:
<link type="text/css" href="layout.css.php?my_var=#CC0000" rel="stylesheet" />
然后在一个伪 CSS 文件 layout.css.php 中,如上例所示:
<?php header("Content-type: text/css");?>
.my_color {
background-color:<?=$_GET['my_var']?>;
}
现在,我怎样才能在 SCSS / Compass 中做一些等效的事情?换句话说,如何将一些 PHP vars 放在原始的 SCSS 文件中,这些文件将在最终的 CSS 输出文件中保持原样,以便可以像上面的示例那样使用 PHP 进一步实时解析?
当我尝试这样做时,Compass 和 SASS 编译器由于 PHP 语法而失败。
Phamlp 有一些 PHP 过滤器,仅适用于 haml 模板,不适用于 SCSS 文件。
LESSphp 似乎有such functionality,但似乎很多人正在从 LESS 转向 SCSS / Compass,那么最好的方法是什么?
非常感谢。
【问题讨论】:
标签: php sass compass-sass