1
我試圖重寫一些SCSS降低至低於寫重複的代碼...如何結合使用SCSS變量與@each指令
.bg-primary {
background: $primary;
}
.bg-secondary {
background: $secondary;
}
.bg-tertiary {
background: $tertiary;
}
...到這樣的事情:
$colors: primary secondary tertiary;
@each $color in $colors {
.bg-#{$color}{
background: $color;
}
}
但問題是,background: $color
將輸出background: primary;
而不是background: $primary;
,輪到他時應該處理爲background: #000;
。關於如何使這項工作的任何想法?謝謝!
謝謝你的關注。您的解決方案有效,但對我而言並不自然。你知道一種簡單的方法來給$ color輸出添加一個$符號嗎?像'background:$#{$ color}''。 – MvdLanden
我完全理解你,有一種引用動態創建變量的方式會很棒。我在規範中查看了一下,並在發佈答案之前做了一個快速的研究,但是我找不到任何對此方案有用的東西。我所知道的是,這個問題出現了多次[已經幾年前](http://stackoverflow.com/questions/6010013/is-it-possible-to-reference-a-variable-with-an-interpolated-字符串),它曾經通過使用列表,然後通過使用後來介紹的地圖解決。 – Marvin
我要把這個標記爲答案,因爲似乎沒有其他辦法,這個解決方案使它稍微更清潔。謝謝[馬文](http://stackoverflow.com/users/3162554/marvin) – MvdLanden