訪問數組鍵我有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