Css 根据类设置SASS变量

Css 根据类设置SASS变量,css,function,if-statement,sass,Css,Function,If Statement,Sass,我需要根据类设置变量,这些类是.withtable和.signed,元素的位置不同。或者检查代码示例: body.withtable { $logo_width: 130px; $logo_height: 80px; } body.notable { $logo_width: 200px; $logo_height: 100px; } 怎么解决这个问题?有什么想法吗?你不能那样传递变量。但是,您可能希望通过以下方式实现此目的: .logo { body.withtable &a

我需要根据类设置变量,这些类是.withtable.signed,元素的位置不同。或者检查代码示例:

body.withtable {
 $logo_width: 130px;
 $logo_height: 80px;
}
body.notable {
 $logo_width: 200px;
 $logo_height: 100px;
}

怎么解决这个问题?有什么想法吗?

你不能那样传递变量。但是,您可能希望通过以下方式实现此目的:

.logo {
    body.withtable & {
        $logo_width: 130px;
        $logo_height: 80px;
        width: $logo_width;
        height: $logo_height;
    }
    body.notable & {
        $logo_width: 200px;
        $logo_height: 100px;
        width: $logo_width;
        height: $logo_height;
    }
}
这样,当您将徽标属性保留在一个位置时,代码将保持可读性和可管理性。将
&
字符放在末尾,检查这是否是
.logo
的父项而不是子项

这可归纳为:

body.withtable .logo {
  width: 130px;
  height: 80px; }

body.notable .logo {
  width: 200px;
  height: 100px; }
}

CSS变量(自定义属性)就是这样工作的。它们不是CSS变量,而是sass。我知道这一点。我想说的是,CSS变量将按照您希望SASS变量的方式工作。