Sass Maps的函數-map-get($map,$key)

map-get($map,$key) 函數的作用是根據$key 參數,返回$key 在$map 中對應的value 值。如果$key 不存在$map中,將返回null 值。此函數包括兩個參數:

  • $map:定義好的map。
  • $key:需要遍歷的key。

來看一個簡單的示例,假設定義了一個$social-colors 的map:

$social-colors: (
    dribble: #ea4c89,
    facebook: #3b5998,
    github: #171515,
    google: #db4437,
    twitter: #55acee
);

假設要獲取facebook 鍵值對應的值#3b5998,我們就可以使用map-get() 函數來實現:

.btn-dribble{
  color: map-get($social-colors,facebook);
}

編譯出來的CSS:

.btn-dribble {
  color: #3b5998;
}

我們來看另一種情況,假設$social-colors 這個map 沒有$weibo 這個key:

.btn-weibo{
  font-size: 12px;
  color: map-get($social-colors,weibo);
}

此時編譯出來的是CSS:

.btn-weibo {
  font-size: 12px;
}

從編譯出來的CSS 可以得知,如果$key 不在$map 中,不會編譯出CSS,其實在Sass 中,map-get($social- colors,weibo) 返回了一個null 值。但在編譯出來的CSS 中,你只知道他沒有編譯出樣式,而且在命令終端編譯時,也沒有任何錯誤或者警告信息。說實話,你並不知道他為什麼編譯不出來樣式,或者說他已返回了值為null。體驗不強,也不好排錯。其實如果我們自定義一個函數,另外加個判斷,那就截然不同。

results matching ""

    No results matching ""