仅输出使用某些变量的样式?

时间:2019-03-04 22:47:51

标签: sass

在SCSS中,有没有办法只输出使用某些变量的样式?

我在一个文件中都有颜色变量,但是在样式表中都使用了它们。现在,我想添加一个不同的颜色主题,而不复制与颜色无关的所有样式,这可能吗?

1 个答案:

答案 0 :(得分:0)

确定某些变量用于输出不是那么容易(而且很容易出错)。您可以检查是否使用@if($x)定义了它们,但这可能不是您想要的。

但是我不认为我完全理解您要达到的目标...

是吗

  1. 为您的应用程序/网站加白标签(以便用新值“覆盖”原始值)?
  2. 自己有两个单独的“主题”(唯一变量),但是避免了样式重叠可能引起的冲突?

针对:

  1. 使用以下行重新定义变量:$x = 1; $x = 2; z-index:$x;,z索引为2。因此,类似:@import 'base-theme'; @import 'client-theme'将用client-theme中的值覆盖每个现有变量,这意味着对现有样式的重写为零(并且只有一个带有新主题的文件)。

  2. 您将需要为此添加逻辑,因此重写样式将是可能的结果。像@if($hotpink) { color:$hotpink } @else { color:$original-pink}这样的工具应该可以解决这些问题,但是它很麻烦并且很难维护。

我的建议(对于大多数用例):选择选项#1,它将为您节省很多工作和调试。

希望如此,请随时询问是否不清楚。