Sass - 使用变量设置变量

3

我希望能够得到一个确定的答案,是否可以根据另一个变量的值来引用变量。在PHP(和其他语言)中,这是可能的。

例如(在Sass中):

我想将边框颜色设置为$green(或$blue、$yellow等),这些变量被包含在局部文件中。我正在循环遍历颜色名称列表如下:

$colors = green, yellow, blue; 

@each $c in $colors {
&.#{$c} {
    border-color: $#{$c};
    }
}

以上代码(理论上)会生成.green、.yellow和.blue类,每个类的边框颜色分别设置为$green、$yellow或$blue。

很显然,以上代码不起作用,但在Sass/Compass中有另一种实现方法吗?

2个回答

2
更新:我与Sass的首席开发者@nex3进行了核实。
在下面提到的Google Groups讨论中,他实际上说这种变量插值正在错误地抽象化,并且不是Sass的本意。当我问他是否仍然坚持那个发布很久的讨论时,他这样回答:
“是的,特别是因为我们在Sass 3.3中添加了maps,它将支持大多数变量插值用例。”
看起来Sass 3.3将通过一个名为maps的功能来支持此功能。目前无法找到任何关于它的文档。如果有人能找到链接,请分享。
目前,Sass不支持这种元编程。 https://groups.google.com/forum/?fromgroups#!topic/sass-lang/upr78cyrW1I

2

看起来是这个帖子的重复:使用哈希与scss(我已经观察和秘密跟进几个月了)

正如Leo指出的那样,你可以尝试解决这个问题,但是PHP风格的变量变量不是该语言目前支持的内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接