Sass 映射函数
在Sass中,映射数据函数表示一个或者是多个键值对。它同样也是不可改变的,因此map函数返回一个map,将返回一个新的map而不会更改原始的map。
下面是关于所有的映射函数的一个相关列表:
函数(功能) | 描述 |
---|---|
map-get(map , key) | 返回映射中指定键的值。 |
map-has-key(map , key) | 检查映射是否具有指定的键,返回true或false。 |
map-keys(map) | 返回映射中所有键的列表。 |
map-merge(map1 , map2) | 将map2追加到map1的末尾。 |
map-remove(map , keys…) | 从映射中移除指定的键。 |
map-values(map) | 返回映射中所有值的列表。 |
示例:
- map-get(map , key)
$font-weight: ("one": thin, "two": normal, "three": bold) map-get($font-weight, "two") Result: normal
- map-has-key(map , key)
$font-weight: ("one": thin, "two": normal, "three": bold) map-has-key($font-weight, "small") Result: false
- map-keys(map)
$font-weight: ("one": thin, "two": normal, "three": bold) map-keys($font-weight) Result: "one", "two, "three"
- map-merge(map1 , map2)
$font-weight: ("one": thin, "two": normal, "three": bold) $font-sizes: ("small": 20px, "large": 72px) map-merge($font-weight, $font-sizes) Result: "one": thin, "two": normal, "three": bold, "small": 20px, "large": 72px
- map-remove(map , keys…)
$font-weight: ("one": thin, "two": normal, "three": bold) map-remove($font-weight, "one") Result: ("two": normal, "three": bold) map-remove($font-weight, "two", "three") Result: ("one": thin)
- map-values(map)
$font-weight: ("one": thin, "two": normal, "three": bold) map-values($font-weight) Result: thin, normal, bold
Maps可视为键值对的集合,键被用于定位值 在css种没有对应的概念,和Lists不同Maps必须被圆括号包围,键值对被都好分割 。
Maps中的keys和values可以是sassscript的任何对象(包括任意的sassscript表达式 arbitrary SassScript expressions) 和Lists一样。
Maps主要为sassscript函数服务,如 map-get函数用于查找键值,map-merge函数用于map和新加的键值融合,@each命令可添加样式到一个map中的每个键值对。
Maps可用于任何Lists可用的地方,在List函数中 Map会被自动转换为List , 如 (key1: value1, key2: value2)会被List函数转换为 key1 value1, key2 value2 ,反之则不能。