我希望得到一个可靠的答案,即是否可以根据另一个变量的值引用变量。这在PHP(以及其他)中是可能的。
示例(在Sass中):
我想将border-color设置为$ green(或$ blue,$ yellow等),这些变量是部分包含的变量。我循环遍历一个颜色名称列表,如:
$colors = green, yellow, blue;
@each $c in $colors {
&.#{$c} {
border-color: $#{$c};
}
}
上面的代码(理想情况下)为.green,.yellow和.blue生成类,每个类的边框颜色分别设置为$ green,$ yellow或$ blue。
(显然)上面的代码不起作用,但是在Sass / Compass中有另一种实现方法吗?
答案 0 :(得分:2)
看起来像这个帖子的副本:using hash with scss(我一直在监视/暗中啄几个月)
正如Leo指出的那样,你可以尝试解决这个问题 - 但PHP风格的变量并不是语言目前支持的。
答案 1 :(得分:2)
更新:我查看了Sass的首席开发人员@ nex3
在google小组(下面提到)的讨论中,他实际上说这种变量插值是以错误的方式抽象而不是Sass打算做的。当我问他时,如果他仍然坚持那段时间发布的讨论,这就是他要说的话:
是的,特别是因为我们在Sass 3.3中添加地图,这将是 支持大多数变量插值的用例
似乎Sass 3.3将通过名为maps的功能支持此功能 目前无法找到任何相关文档。如果有人可以找到它的链接,请分享
Sass目前不支持这种元编程 https://groups.google.com/forum/?fromgroups#!topic/sass-lang/upr78cyrW1I