Sass颜色混合函数针对不同的ruby版本产生不同的结果


编译sass文件后的颜色输出在ruby 2.1.6和2.2.2之间有所不同。这是一种反常的情况吗?或者,如果我们将来升级Ruby,我们能指望混合函数会产生不同的值吗?
// test.scss
$white: white;
$black: black;
$dark-text: #2e3135;
$offwhite: #f7f8f8;
$error: #e32908;
.mixed {
  color: mix($white, $black);
  color: mix($black, $error);
  color: mix($dark-text, $offwhite);
}

用2.1.6 编译

//ruby 2.1.6p336 (2015-04-13 revision 50298) [x64-mingw32]
//Compass 1.0.3 (Polaris)
//Sass 3.4.13 (Selective Steve)
.mixed {
  color: #7f7f7f;
  color: #711404;
  color: #929496;
}

用2.2.2 编译

//ruby 2.2.2p95 (2015-04-13 revision 50295) [x64-mingw32]
//Compass 1.0.3 (Polaris)
//Sass 3.4.15 (Selective Steve):
.mixed {
  color: gray;
  color: #721504;
  color: #939597;
}

颜色差异很小,所以没关系,但知道发生了什么会很有趣。

在@cimmanon 的注释后的Sass变更日志中发现了这一点

3.4.15(2015年6月22日(

  • 进一步改进了各种数字运算的舍入
  • 基于运算符的颜色操作中的Imp舍入

相关内容

最新更新