【问题标题】:Sass color mix function produce different results for different ruby versionsSass 颜色混合功能为不同的 ruby​​ 版本产生不同的结果
【发布时间】: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. 对其他版本执行相同操作。

标签: css ruby sass compass


【解决方案1】:

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

3.4.15(2015 年 6 月 22 日)

  • 进一步改进各种数字运算的舍入。
  • 在基于运算符的颜色操作中进行四舍五入。

【讨论】:

  • 我会把这个留在这里,以防有人和我一样困惑 =)
  • @mfodin 将其标记为已接受,让社区知道答案。
  • @TylerH 可以,但要等两天才能接受自己的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-08
相关资源
最近更新 更多