zoukankan      html  css  js  c++  java
  • 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:

    header {
      @each $key, $value in $newmap {
        #{$key}:#{$value}
      }
    }
    $newmap:(
        text: #f36,
        link: #f63,
        font-size: 12px,
        line-height: 1.6,
        border: #ccc,
        background: #000
    );
  • 相关阅读:
    2015上海网络赛 A Puzzled Elena
    容斥原理——uva 10325 The Lottery
    2015北京网络赛B题 Mission Impossible 6
    2015北京网络赛A题The Cats' Feeding Spots
    POJ3087——map——Shuffle'm Up
    POJ3126——BFS——Prime Path
    POJ1426——BFS——Find The Multiple
    算法总结——Prim
    算法总结——Dijkstra
    算法总结——Floyed
  • 原文地址:https://www.cnblogs.com/qjuly/p/9122014.html
Copyright © 2011-2022 走看看