Less 减:如何直接从网站动态更改变量

Less 减:如何直接从网站动态更改变量,less,Less,我希望我的站点上的访问者可以更改我在我的LESS样式表中定义的一些LESS变量的值 例如,如果我声明了以下规则: @color-of-text: blue; body { color:@color-of-text; } 很明显,网站上有蓝色文本。但我希望用户可以选择不同的值(以何种方式…下拉框或复选框或其他方式并不重要),例如将文本的@color从“蓝色”更改为“红色”,就像我在我的less文件中直接写下的“@color of text:red;” 显然,这种变化应该在我们重新加载页面时

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

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

@color-of-text: blue;

body
{
  color:@color-of-text;
}
很明显,网站上有蓝色文本。但我希望用户可以选择不同的值(以何种方式…下拉框或复选框或其他方式并不重要),例如将文本的@color从“蓝色”更改为“红色”,就像我在我的less文件中直接写下的“@color of text:red;”

显然,这种变化应该在我们重新加载页面时动态发生


如何获取此信息?

您不能编辑较少的内容。LESS最终被编译成CSS,这就是发送到浏览器的内容

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


如果您想在多个页面加载/访问时保持颜色选择,那就另当别论了。

这与
less
无关

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

您可以将选择存储在cookie中,然后在
PHP
访问者的每个请求页面中打印desiderd文件

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

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

可能重复的可能重复的。。。您可以使用
less.modifyVars()
执行此操作。不过,我不建议在生产中使用客户端较少的编译。谢谢Martin,我理解你的建议,但这只是一个演示页面,介绍了较少的功能和灵活性,而不是一个真正的生产网站!:-)我理解你的建议,但我需要一个更少的解决方案,因为我正在创建一个关于更少灵活性的演示网站…LESS是一个CSS
PRE
处理器。你可以少处理每一个请求,但效率不高。在这种情况下,我们需要更多关于如何从更少的代码生成css的信息(在php中使用exec?)不,不,只是在运行时编译JS。正如我所说,它只是一个演示网站,而不是一个制作网站。