LESS:如何直接从网站上动态更改变量

时间:2014-02-16 13:32:41

标签: less

我希望我网站上的访问者可以更改我在LESS样式表中定义的一些LESS变量的值。

例如,如果我声明了以下规则:

@color-of-text: blue;

body
{
  color:@color-of-text;
}

显然,网站有蓝色文字。但我希望用户可以选择(以不同的方式...下拉列表,或复选框或其他什么)不同的值,例如将@ color-of-text从'blue'更改为'red',就像我写了“@ color-of-text:red;”直接在我的文件中。

显然,这个改变应该在运行时重新加载页面。

如何获得这个? 谢谢。

2 个答案:

答案 0 :(得分:0)

您无法编辑LESS。 LESS最终编译成CSS,这就是发送到浏览器的内容。

要回答您的问题,您可以使用javascript并根据用户输入更改要更改颜色的页面上元素的样式属性。

如果您希望该颜色选择在多个页面加载/访问中持续存在,那就是另一个故事。

答案 1 :(得分:0)

这与less无关。

您可以生成不同的css文件更改相同less的颜色变量,然后向客户询问它将看到哪个css。

您可以将选项存储在Cookie中,然后在访问者的每个请求页面的PHP中打印已停用的文件

$skin = isset($_COOKIE['skin'])? $_COOKIE['skin'] : 'default';
echo '<link rel="stylesheet" type="text/css" href="path/to/'.$skin.'.css" />';

在选择期间,您可以刷新页面或通过javascript更改css。