php - 有没有办法在 PHP 中用 LESS 编译器覆盖 LESS 变量?

标签 php css less

目前我正在使用 lessphp作为我的 LESS 编译器。我知道它提供了一种设置 LESS 变量的方法,但是有没有办法覆盖文件中设置的变量?

例如,我有以下 LESS 文件:

@theme-color: #000055;
h1 {
    color: @theme-color;
}
h2 {
    color: @theme-color * 1.3;
}
h3 {
    color: @theme-color * 1.5;
}

用 PHP 编译它,

require"path/to/leafo/lessphp/lessc.inc.php";
$less = new lessc;
$less->setVariables(array(
    "theme-color" => "#000055"
));
$less->compileFile("basic/path/less/main.less", "basic/path//css/main.css");

它成功编译了文件,但变量@theme-color 没有被覆盖。有没有办法覆盖它?

如有必要,我不介意使用其他编译器,但它需要在服务器端,因为 javascript 编译器太慢,并且会导致出现无 css View 的情况。

最佳答案

可能你可以使用 compile() 而不是 compileFile();

$lesscode = file_get_contents("basic/path/less/main.less");
$lesscode .= "@themecolor: #000055;";

file_put_contents("basic/path//css/main.css", $less->compile($lesscode));

关于php - 有没有办法在 PHP 中用 LESS 编译器覆盖 LESS 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29887092/

相关文章:

php - 如何获取数组中的随机元素以及如何从mysql中获取随机行?

php - 教义2 : SUM on left join query

html - 如何将 tinymce 的输出代码放入我的容器元素中?

css - ASP.NET 中的 Bootstrap 模板 : Blank spaces around the template

css - 将 CSS 引擎刷新命令减少到一个文件

cocoa - 与 NSTask 一起使用时 LESS 的奇怪输出

php - 根据 laravel 中现有列中的值添加新列

php - 使用 php 或 javascript 将数据从 excel 导入到 Html 网站哪个更好?

javascript - Bootstrap v4 切换下拉菜单在本地不起作用,但在公共(public)站点上有效

javascript - Node.js + Express.js。如何减少 css 的渲染?