【问题标题】:Is the map-getter an unnecessary entity?地图获取者是不必要的实体吗?
【发布时间】:2022-01-27 16:49:03
【问题描述】:

有这样的SCSS代码:

$font-weights: (
  "font-weight-thin": 100,
  "font-weight-light": 300,
  "font-weight-regular": 400,
  "font-weight-medium": 500,
  "font-weight-bold": 700,
  "font-weight-black": 900,
);

@function font-weight($font-weight-style){
 @return map-get($font-weights, $font-weight-style);
}

那么我们可以通过如下函数调用的形式来使用它:

.header_top_navigation{
  font-weight: font-weight(font-weight-regular);
}

问题:
与使用普通的SCSS 变量相比,这种方法有哪些优势(以及它解决了哪些任务)?
或者它只是一个等效但更混乱的替代方案?

【问题讨论】:

  • 对我来说似乎是不必要的开销。

标签: html css sass


【解决方案1】:

这可能只是额外的代码,它对错误很敏感:

  • 您需要为每个地图编写一个特定的函数。
  • 当您更改地图名称时,您也需要更改您的功能。

创建函数的一个正当理由可能是您不喜欢 map-get 的语法并希望创建一个简写以使其更具可读性。你可以这样做:

function mg($map, $key) {
  @return map-get($map, $key);
}

你可以在每张地图上这样使用它:

.header_top_navigation{
  font-weight: mg($font-weights, "font-weight-regular");
}

【讨论】:

    猜你喜欢
    • 2010-11-13
    • 2013-10-21
    • 2016-12-29
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2019-01-11
    • 2011-06-15
    相关资源
    最近更新 更多