• 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
    );
  • 相关阅读:
    Java HttpClient使用小结
    【剑指offer】Q18:树的子结构
    poj3041-Asteroids , 二分图的最小顶点覆盖数 = 最大匹配数
    jquery.validate+jquery.form提交的三种方式
    "undefined reference to" 问题解决方法
    [Oracle]
    Effective_java之二:慎用重载函数
    C99规范
    迭代、递归替代循环
    1)Linux程序设计入门--基础知识
  • 原文地址:https://www.cnblogs.com/qjuly/p/9122014.html
Copyright © 2020-2023  润新知