带有LESS变量的CSS文件

时间:2015-03-03 08:45:47

标签: php less lessphp

我需要创建Web模板的自定义,并为我的客户表单配置样式。

我在 LESS 中创建了网站样式,当客户更改表单中的某些设置(并单击“提交”)时,PHP会根据LESS代码和客户设置动态创建CSS文件。

我正在使用less.php。但是从LESS动态生成CSS非常。这就是为什么我要创建" CSS文件"使用较少的变量,我想从" CSS文件"自动生成最终CSS文件使用变量,并且仅使用str_replace()将变量更改为值。这将是更快解决方案!

示例:

LESS文件

@color: red;
.container {
    .box {color: @color; }
}

最终 CSS文件

.container .box {color: red; }

但我需要生成" CSS文件"使用较少的变量,如下所示:

.container .box {color: @color; }

如何生成这样的文件?

2 个答案:

答案 0 :(得分:1)

你似乎并不了解LESS是什么,LESS是一个将代码编译成CSS的CSS预处理器。 CSS不支持变量,所以你所要求的并不是真的有意义。您正在使用LESS PHP但实际上您想删除该功能。这个问题对我没有意义。

答案 1 :(得分:1)

我的回答不会给你你想要的东西,但也许会改变你的想法。

实际上,你现在正在做的事情很好,但正如你所说,为每个用户编写所有时间对每个人都不好。这就是你应该实现缓存机制的原因。将编译的(最终)CSS保存为服务器上的文件,并将用户指向该文件。在您的编译脚本中添加代码,该代码将检查缓存文件是否比一天(或一小时,但不少于)更早。如果它更旧,那么编译新的。

这样,您只会编译一天一次。例如,日。

如果没有缓存版本,您也可以将其设置为始终编译。如果您要更改很多内容,这将有所帮助,然后您可以删除缓存的CSS并生成新的CSS。

如果您有一些管理面板可以更改LESS文件,那么只需在执行代码中添加另一行,这将强制重新编译或只删除(unlink())缓存文件。

缓存是一种祝福,对您,您的用户和服务器都有好处