SCSS-检查字体家族变量

时间:2018-08-09 14:16:23

标签: css sass

我需要检查我的$primary_font_family变量是否包含特定的字体系列。

我的问题是,这是检查变量中字体家族的正确方法吗?我很好奇单引号等是否会引起问题。

即使$primary_font_family为空,当前仍返回红色背景。我的scss编译器没有返回任何错误,但是正如我在测试中所知道的那样,该变量为空,并且仍使用红色背景进行编译。

代码和条件:

$primary_font_family: 'Whitney-Bold', sans-serif;

@if ($primary_font_family == 'Whitney-Bold', sans-serif) {
  .primary-header__brand-wrap {
    background-color: red !important;
  }
}

测试:

如您所见,第二个$primary_font_family检查将查找值Whitney-Example,该值甚至不存在,但仍可以编译。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以用@if()上的字体括起来:

$primary_font_family: 'Whitney-Bold', sans-serif;

@if ($primary_font_family == ('Whitney-Bold', sans-serif)) {
  .primary-header__brand-wrap {
     background-color: red !important;
  }
}
  

演示: https://jsfiddle.net/ow5cLsxy/7/

如果变量之一与指定值匹配,您还可以查找其他变量:

$a: 'Whitney-Bold', sans-serif;
$b: 'Whitney-Bold', sans-serif;
$c: 'Whitney-Example', sans-serif;

//a or b or c = specified value
@if (index(($a, $b, $c), ('Whitney-Bold', sans-serif)) != null) {
  .test {
    color: red;
  }
}