访问数组键我有SASS列表,我试图用括号标记上的项目的访问:在SASS
$collection[1];
但给我一个错误。
有没有其他方法可以做到这一点?
为什么我要这样做?
我有一个颜色列表必须根据服务器分配给他们的颜色在不同的元素上设置。标记具有编号类别(color-0
,color-1
等)。下面是我的目标的CSS:
.color-0 { color: red }
.color-1 { color: orange }
.color-2 { color: green }
.color-3 { color: blue }
/* many more, with more complex colors... */
而是用手写这一切的,我想我可以用SASS收集与循环:
$color-collection: ('red', 'orange', 'green', 'blue');
$color-count: length($color-collection);
@for $i from 0 to $color-count {
.color-#{$i} {
color: $color-collection[ $i ];
}
}
但这只是给了我以下错误:
Syntax error: Invalid CSS after "...color-collection": expected ";", was "[ $i ];"
我怎样才能做到这一点?
与您的情况不完全相同,但方法应该证明有用:http://stackoverflow.com/questions/14695965/sass-increment-a-class-and-choose-the-next-variable-in-a -list/14696447#14696447(使用@each) – steveax 2013-02-26 00:45:40
@steveax - 呃!这正是我想要避免的。那里我可能会有超过30种颜色。把它们全部列出来,只是让我想要回到香草CSS;我认为这很干净。 – MegaHit 2013-02-26 00:49:36
您不必将它们列出两次,只需将颜色名称/值放在'$ color-collection'中,就像您拥有它们一样,然后使用@each旋转它们。在我连接的问题的情况下,他需要他们作为你不需要的变数。有几种方法可以让猫和书柜的答案很好。 – steveax 2013-02-26 01:12:10