使用单位计算值时奇怪的SASS行为

使用单位计算值时奇怪的SASS行为,sass,Sass,。。。至少我觉得很奇怪,但也许我就是不明白发生了什么 给定以下SASS代码: $test: 2rem; @warn $test / 2; @warn 2 / $test; 我得到以下结果: 1rem // that is what I am expecting 1/rem // huh? 为什么呢?Bug,还是我做错了什么?在中键入以下代码: 请注意,我已经对您的代码进行了更正,因为$test=2rem无效 当您取消注释第一个@error行时,它会正确地报告1rem的值 当您取消注释第二个

。。。至少我觉得很奇怪,但也许我就是不明白发生了什么

给定以下SASS代码:

$test: 2rem;
@warn $test / 2;
@warn 2 / $test;
我得到以下结果:

1rem  // that is what I am expecting
1/rem // huh?

为什么呢?Bug,还是我做错了什么?

在中键入以下代码:

请注意,我已经对您的代码进行了更正,因为$test=2rem无效

当您取消注释第一个@error行时,它会正确地报告1rem的值

当您取消注释第二个@error行时,它会正确地报告值1/rem

取消注释第一行@warn时,不会得到任何输出,因为表达式的计算结果是有效的css值1rem

当您取消注释第二行@warn时,您会收到以下警告消息:1/rem不是有效的CSS值。


警告是要告诉你你做错了什么。这不是sass中的一个bug。

您如何期望2/2rem等于1rem?在代数中,2/2a=1/a。所以2/2rem=1/rem。这不是一个bug,但结果是一个无效的css值。@trevor,在这种情况下2rem/2也不起作用。但SASS正试图正确地将单位值考虑在内。但是如果是这样的话,两个结果应该是相同的是,我的代码中有一个输入错误,谢谢你的更正。无论如何,仍然不确定这是否是一个bug。我的意思是,当然“1/rem”不是有效的CSS值,但是为什么计算首先会得出这样的结果呢?
$test: 2rem;
//@error $test / 2;
//@error 2 / $test;
//@warn $test / 2;
//@warn 2 / $test;