【发布时间】:2016-06-10 15:28:50
【问题描述】:
如果存在,我正在尝试将类名添加到 SCSS。
使用输出 2 个 CSS 文件的基本框架。
- theme_1.css
- theme_2.css
每个 CSS 文件都是从其各自的 SCSS 文件编译而来 - 该文件要么包含名为 $body-container 的变量,要么不包含。
$body-container: .body-container;
如果变量存在,则应将其附加到正文标记。
这是我目前尝试过的 SCSS
body @if(variable-exists(body-container)) { $body-container } {
/* styles here */
}
我期待以下内容:
对于包含变量的 SCSS 文件
body .body-container {
/* styles here */
}
并且没有声明变量
body {
/* styles here */
}
但是得到以下错误Error: Invalid CSS after "...body-container ": expected ":", was "} {"
【问题讨论】:
-
我认为您不能将变量附加到这样的选择器。但是,您可以执行 this 之类的操作(请注意,我只是 Sass/SCSS 的初学者,可能有更好的方法来做到这一点)。
-
很好地解决了这个问题。谢谢! +1
-
我会等待一段时间,看看是否有更好的答案。如果没有,我会发布我的解决方法作为答案:)
-
我将其稍微更改为:
$selector: "body " + $body-wrapper !global;并设置了一个变量$body-wrapper: ".bodywrapper";只是次要但允许我使用与值不同的变量名。也可以帮助其他人。