2
我會用我的代碼開始,因爲它應該是更容易明白我想做的事:如何在定義整個地圖之前引用地圖中的變量?
@function get-color($color, $lightness) {
@return map-get(map-get($colors, $color), $lightness);
}
$colors: (
green: (
light: #A4EDE1,
mid: darken(get-color(green, light), 20%),
dark: darken(get-color(green, mid), 20%)
),
red: (
light: complement(get-color(green, light)),
mid: complement(get-color(green, mid)),
dark: complement(get-color(green, dark))
)
);
正如你所看到的,我創建了一個多維地圖,我的顏色值。
目前,我想創建其他顏色,通過darken()
和complement()
函數。 問題在於,我需要在變量被完全填充之前引用$colors
變量中的變量。這導致我的get-color()
函數出錯,這告訴我,沒有$colors
變量。
我知道這將有可能改變我的$colors
地圖以外的顏色,但這樣做的好處是,我總是可以回來定義顏色值,而不是生成的。這對維護項目將是一個巨大的好處。
所以在這裏我的問題:有沒有什麼辦法在定義整個地圖之前引用地圖中的另一個變量?