SASS:如何检查地图是否存在

时间:2014-12-17 07:52:47

标签: sass

在SASS中我想只在地图存在时生成一些css。为此,我必须首先检查地图是否存在。它应该与此类似:

$mymap: (
   width:   10px,
   color:   blue,
);


@if MAP-EXISTS($mymap) {
   .myclass { 
      width: map-get($mymap, width);
      color: map-get($mymap, blue);
   }
}

由于SASS中功能'MAP-EXISTS()'不存在这一事实: 我正在寻找另一种方式来做到这一点。但我无法理解。

所以我的问题是:如何检查SASS中是否存在地图?

(SASS版本为V3.4.9)

获得答案和帮助。

1 个答案:

答案 0 :(得分:0)

无法检查地图是否存在,但您可以检查map-has-key是否返回true或false是否map具有与给定键相关联的值,这可能会帮助您作为替代解决方案

一个例子:

$mymap: (
   width:   10px,
   color:   blue,
);

.map-exist { 

  $map-existance: map-has-key($mymap, width);
  $map-existance: map-has-key($mymap, color);

  // Uncomment the line bellow to see that if a value doesn't exist
  // it won't apply any propertie

  // $map-existance: map-has-key($mymap, padding);

  @if $map-existance == true {
    width: map-get($mymap, width);
    color: map-get($mymap, color);
  }
}

演示:http://sassmeister.com/gist/f7ecb5b1fb2781cc3225