2012-01-03 86 views
1

我创建了一个简单的css网格解决方案(http://lesscss.org/)的版本(http://simplegrid.info/。现在我可以愉快地用LESS(lessc)的服务器脚本来滚动我自己的网格大小。 。对我来说LESS - 在客户端设置变量

为了演示我想创建一个HTML页面,在那里我可以把CSS网格的大小的文本框和网格会动态改变演示的起点就在这里:

http://jsfiddle.net/8QHNc/

因此,不是将@layoutwidth: 720px;改为<style rel="stylesheet" type="text/less" >部分我想将这些变量传递给LESS解释器。

这些可以在客户端使用较少的情况下完成吗?我可以定义全局变量或将它们作为参数传递给less.js吗?

我知道我能做到这一点没有少使用(最好使用jQueryØ某事) - 但我想,因为它已经在那里...

回答

2

我不知道,如果解析器需要任何参数,但为什么你会拒绝使用内置的JavaScript评估,例如添加类似:

@layoutwidth: `document.getElementById("inputLayoutWidth") + "px"`; 

到您的较少样式表。或者,使用jQuery,因为你提出:

@layoutwidth: `$("#inputLayoutWidth").val() + "px"`; 

同时使用输入字段一样

<input type="text" id="inputLayoutWidth" value="720" /> 

,并调用每个输入字段改变时解析。

+0

谢谢你的回答 - 我不拒绝......我实际上是在JS评估版中玩的。我遇到的问题是 - 忽略的值...请参阅:http://jsfiddle.net/PdDD3/。 100px值似乎总是被“”所逃脱。 Firebug显示:.box:after {content:“100px”;} - 但.box元素的宽度总是被忽略或对浏览器不是“有效”。 – madflow 2012-01-13 20:39:58

+0

对不起,重播很晚,一直很忙。我忘记了“〜”直接输出值,现在它已经固定并且在输入框中使用了特定的宽度。请参阅[链接](http://jsfiddle.net/PdDD3/8/)但是,我不知道如何强制重新分析较少的脚本客户端(无需重新加载整个页面)。 – burnedikt 2012-01-16 12:43:02

+0

谢谢你的回复!这个对我有用...! – madflow 2012-01-16 19:45:38

1

如果您使用的是较少CSS的3.x版本,那么您也可以在JavaScript代码中设置它们。

less.modifyVars({ 
    '@buttonFace': '#5B83AD', 
    '@buttonText': '#D9EEF2' 
}); 

我不知道这个方法是否也存在于老版本的less中。