【发布时间】:2015-06-29 23:01:19
【问题描述】:
编译 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;
}
颜色差异很小,所以没关系,但知道发生了什么会很有趣。
【问题讨论】:
-
你确定你的 Sass 版本没有改变吗?
-
我忘记检查 Sass 版本 - 我只检查了 Compass 版本,并且是相同的。 Sass 版本发生了变化,但只有补丁版本。我会用版本更新问题。
-
是的,好像是这样。我觉得改变计算的工作方式比增加补丁版本更值得,但这只是我。
-
您现在所说的问题无法复制。而你已经发现确实如此。
-
当然可以复制。重现步骤: 1. 安装问题中提到的 Ruby 版本。 2. 安装指南针。 3. 编译。 4. 对其他版本执行相同操作。