如何使用选择器为LESS变量赋值

时间:2012-03-30 03:49:33

标签: less

由于LESS是一种预编译样式表语言,这可能无法实现我所追求的目标,但其理念是:

#sidebar {
     width: 40%;
 }

@sidebar_width : @('#sidebar:width');

.some_other_elements {
      width: @sidebar_width;
 }

所以我有三个问题:

  1. 上述情况有可能吗?我刚发现LESS,文档让我晕车。

  2. 如果可以,如果.some_other_elements设置为40%或侧边栏的实际宽度,是否会产生CSS?是否可以使用LESS获得实际宽度?

  3. 如果您能够将您对图书馆的一般意见以及答案或评论发表意见,我想听听。它似乎有点多,但也许它是下一个jquery,我需要尽快采用它(或者相反,也许它是下一个YUI,我应该忘记我曾经看过它。)

2 个答案:

答案 0 :(得分:1)

那不行。你不能从选择器中挑选出值并将其变成一个变量:你必须做类似的事情:

@sidebar_width: 40%;
.some_other_elements {
  width: @sidebar_width;
} 

侧边栏的宽度将设置为父容器宽度的40%。

答案 1 :(得分:0)

如果你预编译就是这样,请记住LESS确实让你访问JS环境。因此,如果您使用Node编译服务器端,您可以执行类似于您尝试的操作,因为您可以访问文档的某些部分。如果你使用.js在加载时编译它甚至可以工作(虽然我不建议出于各种原因)文档中的示例:

@height = `document.body.clientHeight`;

可能值得关注你想要完成的事情。