Sass正在返回一个负数列表,而不是减去它们

sim*_*Pod 1 sass

我正在尝试用长度进行数学运算:

$itemWidth: 25px;
$item2Width: 80px;

element {
    width: $itemWidth/2-$item2Width/2-5px
}
Run Code Online (Sandbox Code Playgroud)

但是,它输出-52.5px -5px如何做对了?

cim*_*non 9

Sass 3.2解析器似乎被操作符之间缺少空白感到困惑(它认为你的意思是负5px而不是减去5px):

element {
    width: $itemWidth / 2 - $item2Width / 2 - 5px;
}
Run Code Online (Sandbox Code Playgroud)

这在Sass 3.3中已修复,但您需要将Compass升级到1.0(因为0.12与Sass 3.3不兼容).

请注意,Sass将始终将前面带有短划线/连字符的数字视为否定.这意味着将1 -2其视为包含正数1和负数2的数字列表,而不是评估为负数1.