标签: sass-maps

Sass map.get() 不起作用。map-get() 确实如此。是什么赋予了?

问题:map.get()不起作用。map-get()确实有效。

我设置了一个颜色值映射并创建了一个简单的函数来检索它们。

在进行检索时,我遵循了Sass 文档,其中指出您可以使用该map.get()函数检索映射值。使用这种或任何其他map.function在结果Error: There is no module with the namespace "map".

检查地图模块,我注意到一个替代语法,map-get(),它确实有效。

是什么赋予了?我是否缺少某些东西,例如导入地图模块,以便我可以以该形式使用它?

在下面查看我的代码:

// Using npm dart `sass 1.26.11`.

$colors: ('primary': black, 'secondary': white);

// Doesn't work    
@function color($color) {
  @return map.get($colors, $color);
}

// Does work
@function color($color) {
  @return map-get($colors, $color);
}
Run Code Online (Sandbox Code Playgroud)

问题:我需要更改什么才能使map.get()语法正常工作?

syntax dictionary function sass sass-maps

10
推荐指数
1
解决办法
3658
查看次数

为什么我会收到语法错误:SassError:预期“{”?

map.setsass文档给出的示例不起作用,为什么呢?

\n
@use "sass:map";\n\n$font-weights: (\n  \'regular\': 400,\n  \'medium\': 500,\n  \'bold\': 700\n);\n\nmap.set($font-weights, \'extra-bold\', 900);\n// ("regular": 400, "medium": 500, "bold": 700, "extra-bold": 900)\nmap.set($font-weights, \'bold\', 900);\n// ("regular": 400, "medium": 500, "bold": 900)\n
Run Code Online (Sandbox Code Playgroud)\n

我的sass版本是1.32.5.
\n整个错误消息:

\n
@use "sass:map";\n\n$font-weights: (\n  \'regular\': 400,\n  \'medium\': 500,\n  \'bold\': 700\n);\n\nmap.set($font-weights, \'extra-bold\', 900);\n// ("regular": 400, "medium": 500, "bold": 700, "extra-bold": 900)\nmap.set($font-weights, \'bold\', 900);\n// ("regular": 400, "medium": 500, "bold": 900)\n
Run Code Online (Sandbox Code Playgroud)\n

我希望设置地图时不会抛出错误。

\n

css sass sass-loader sass-maps dart-sass

9
推荐指数
1
解决办法
1万
查看次数

SASS:检查变量是否是地图

是否有类似is-map($some_variable)SASS的东西?

我试过查看文档,但没有.

sass sass-maps

6
推荐指数
1
解决办法
2505
查看次数

SASS:如何使用循环生成地图

我的目标是生成一个SASS map来存储存储在以下地图中的颜色变体:

  $colors : (

    jet                 : #333333,
    wintergreen-dream   : #588C73,
    eton-blue           : #8FC0A9,
    sunglow             : #FFC33C,
    light-kaki          : #F2E394,
    bege                : #FAF3DD

  );
Run Code Online (Sandbox Code Playgroud)

到目前为止,我使用a @function来检索这些变体:

  @function light       ($color, $val) { @return lighten($color, $val);     }
  @function dark        ($color, $val) { @return darken($color, $val);      }
  @function transparent ($color, $val) { @return transparent($color, $val); }
Run Code Online (Sandbox Code Playgroud)


我期望能够生成的地图看起来与以下相似:

  $colors-map : (

    eton-blue : (

        base  : $eton-blue,
        light : lighten($eton-blue, 15%),
        dark  : darken($eton-blue, 15%),
        trans : transparent($eton-blue, .5)


    ),

    jet : …
Run Code Online (Sandbox Code Playgroud)

css loops sass sass-maps

3
推荐指数
1
解决办法
2345
查看次数

SCSS/SASS 从第 n 个嵌套映射中获取值

我在尝试检索嵌套 sass 映射中的值时遇到问题。我有一张看起来像这样的地图:

$breakpoints : (
    xl: (
         page-width: 1170px,
         gutter: 30px,
         base-font-size: 17px
    ),
    l: (
         breakpoint: 1170px,
         page-width: 980px,
         gutter: 20px,
         base-font-size: 17px
    )
);
Run Code Online (Sandbox Code Playgroud)

我试图在第一个嵌套列表“xl”中检索变量。这个想法是通过索引而不是键名来检索嵌套列表,因为这应该能够根据用户的喜好进行修改。

我原以为使用map-get(nth($breakpoints, 1), page-width)会起作用,但nth($breakpoints, 1)似乎返回一个包含“xl(页面宽度:1170px,装订线:30px,base-font-size:17px)”而不是实际地图的字符串,因此无法使用该map-get()功能.

关于如何做到这一点的任何想法?

nested sass nested-lists sass-maps

3
推荐指数
1
解决办法
4186
查看次数