SCSS - 检查字体系列的变量

wha*_*ale 4 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;
  }
}
Run Code Online (Sandbox Code Playgroud)

测试:

如您所见,第二次$primary_font_family检查会查找一个Whitney-Example甚至不存在的值,但它仍然可以编译。

在此处输入图片说明

Seb*_*sch 6

你可以@if(和包围字体)

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

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

演示: 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;
  }
}
Run Code Online (Sandbox Code Playgroud)