Sass颜色混合功能可针对不同的红宝石版本产生不同的结果

时间:2015-06-29 13:57:17

标签: css ruby sass compass

编译sass文件后的颜色输出在ruby 2.1.6和2.2.2之间不同。这是一个怪异的事情,或者如果我们将来升级Ruby,我们是否可以期望mix函数产生不同的值?

// 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;
}

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

1 个答案:

答案 0 :(得分:2)

在@cimmanon

的评论之后在Sass changelog中找到了这个

3。4。15(2015年6月22日)

  • 进一步改进各种数字操作的舍入。
  • 在基于操作员的颜色操作中进行舍入。