Sass 在compass scss中减法不起作用

Sass 在compass scss中减法不起作用,sass,compass-sass,Sass,Compass Sass,当我恋爱的时候,我遇到了一个令人困惑的问题。我试图从这样的值中减去一: padding-left:($top-bar-padding*4)-1; padding-left:($top-bar-padding*4-1); padding-left:($top-bar-padding*4)-1px; padding-left:($top-bar-padding*4-1px); ($top-bar-padding*4 - 1) 我试过所有这些,它们都给了我: padding-left: 20px -

当我恋爱的时候,我遇到了一个令人困惑的问题。我试图从这样的值中减去一:

padding-left:($top-bar-padding*4)-1;
padding-left:($top-bar-padding*4-1);
padding-left:($top-bar-padding*4)-1px;
padding-left:($top-bar-padding*4-1px);
($top-bar-padding*4 - 1)
我试过所有这些,它们都给了我:

padding-left: 20px -1px;
这真的让我很困惑,因为我在
.scss
文件的前面有这个,而且它工作得很好:

padding:$top-bar-padding*2+2 $top-bar-padding*4;

有关于为什么会发生这种情况的见解吗?

您需要在减法符号前后有一个空格,如下所示:

padding-left:($top-bar-padding*4)-1;
padding-left:($top-bar-padding*4-1);
padding-left:($top-bar-padding*4)-1px;
padding-left:($top-bar-padding*4-1px);
($top-bar-padding*4 - 1)

也许你可以发布你的更新作为一个答案并接受它?在大学里,我们被告知,由于这个原因,连字符不能用于变量名,尽管css作者似乎忽略了这个建议。结果如何?这个令人困惑的问题,老同学们往往是对的!