Sass Maps的函數-
map-values($map)、map-merge($map1,$map2)
map-values($map)
map-values($map) 函數類似於map-keys($map) 功能,不同的是map-values($map )獲取的是$map 的所有value 值,可以說也將是一個列表。而且,map-values($map) 中如果有相同的value 也將會全部獲取出來。
如前面的示例,使用:
map-values($social-colors)
將會返回:
#ea4c89,#3b5998,#171515,#db4437,#55acee
值與值之前同樣用逗號分隔。
map-merge($map1,$map2)
map-merge($map1,$map2)
map-merge($map1,$map2) 函數是將$map1 和$map2 合併,然後得到一個新的$map。如果你要快速將新的值插入到$map 中的話,這種方法是最佳方法。假設我們有兩個$map:
$color: (
text: #f36,
link: #f63,
border: #ddd,
backround: #fff
);
$typo:(
font-size: 12px,
line-height: 1.6
);
如果希望將這兩個$map 合併成一個map,我們只要這樣做:
$newmap: map-merge($color,$typo);
將會生成一個新的map:
$newmap:(
text: #f36,
link: #f63,
border: #ddd,
background: #fff,
font-size: 12px,
line-height: 1.6
);
這樣你就可以藉助map-get( ) 等函數做其他事情了。
不過有一點需要注意,如果$map1 和$map2 中有相同的$key 名,那麼將$map2 中的$key 會取代$map1 中的:
$color: (
text: #f36,
link: #f63,
border: #ddd,
backround: #fff
);
$typo:(
font-size: 12px,
line-height: 1.6,
border: #ccc,
background: #000
);
執行:
$newmap: map-merge($color,$typo);
得到的新map:
$newmap:(
text: #f36,
link: #f63,
font-size: 12px,
line-height: 1.6,
border: #ccc,
background: #000
);