1

所以我试图做一个简单的计算来定位一个元素。我把它归结为一个在在线“尝试 SASS ”页面上失败的基本示例。下面的第一个示例成功,而第二个示例失败。唯一的区别是计算结束时 12px 的加法或减法:

成功

萨斯

$a: 955px;
$b: 8;

body {
    width: (($a/$b)/2)+12px;
}

CSS

body {
width: 71.6875px; }

史诗般的失败?

萨斯

$a: 955px;
$b: 8;

body {
    width: (($a/$b)/2)-12px;
}

CSS

body {
width: 59.6875px -12px; }

有没有人遇到过这个?这是一个已知问题吗?如果是,是否有解决方法?

提前致谢!

4

2 回答 2

2

缺少括号,因此编译器考虑到它的-ve值:)

    $a: 955px;
    $b: 8;

    body {
        width: (($a/$b)/2)-(12px);
    }
于 2013-07-24T12:02:24.317 回答
1

您需要在运算符周围添加空格-

$ sass -i
>> $a: 955px
955px
>> $b: 8
8
>> (($a/$b)/2)-12px // bug
(59.6875px -12px)
>> (($a/$b)/2) - 12px // OK
47.6875px
>> ($a/$b) / 2 - 12px // Works fine too
47.6875px

阅读问题Strange behavior of the subtraction operator中对@nex3的解释。

于 2013-07-24T21:31:59.370 回答