3

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

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

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

例子:

少文件

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

最终的 CSS 文件

.container .box {color: red; }

但我需要使用 LESS 变量生成“CSS 文件”,如下所示:

.container .box {color: @color; }

我怎样才能生成这样的文件?

4

2 回答 2

1

你似乎不明白LESS是什么,LESS是一个将代码编译成CSS的CSS预处理器。CSS 不支持变量,因此您所要求的内容没有任何意义。您正在使用 LESS PHP,但您实际上想删除该功能。这个问题对我来说毫无意义。

于 2015-03-03T08:57:39.260 回答
1

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

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

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

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

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

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

于 2015-03-03T09:02:29.967 回答