4

使用指南针编译一些 SCSS 文件时遇到问题。基本上tintandshade函数被忽略了。所以这:

border:solid 1px tint( $custom-ui-base-color, 5% );
background-color:shade( $custom-ui-base-color, 15% );

变成这样:

border: solid 1px tint(#096fcb, 5%);
background-color: shade(#096fcb, 15%);

这显然不是有效的 CSS。Compass 已替换变量但未计算函数,是否有任何原因可能会出现这种情况?指南针中的设置或命令行参数可能吗?

4

2 回答 2

5

我知道这已经晚了,但我遇到了同样的问题,直到我发现我可以使用这个mix()功能。也许这对其他人有帮助。mix()可以用您想要的任何颜色为您现有的颜色着色。所以要把它染成白色(这似乎是你想要的),你只需这样做:

$color: mix(white,$color, 15%);

第一个参数是您希望主色着色的颜色,第二个参数是您的颜色,第三个参数是您想要与主色混合的颜色量(在这种情况下为白色)。

所以就我而言,我混合了 15% 的白色。

于 2015-03-16T14:49:20.640 回答
0

我进行了一些挖掘,似乎这些功能是在大约一年前添加到 Compass 核心中的,尽管我没有进一步挖掘更改日志以查看它们是哪个版本。

Tint 和 Shade 不是内置的 SASS 颜色函数。Compass 文档引用了它们,但相应的SASS 文档没有。因此它们必须是 Compass 的附加组件,并且可以作为附加库扩展访问。

Net Magazine 的示例让您看起来好像在正确使用它们。所以,我不确定该指向哪里,但您可以尝试更多地调试这些函数,看看是否可以编译它们。尝试使用shade( #{$custom-ui-base-color}, 15% )for a start,这应该会强制 Compass 在另一个计算之前执行一个计算(在这种情况下,只需编译变量)。

函数的 Ruby 文档:http ://ruby-doc.org/gems/docs/c/compass-0.12.2/Compass/SassExtensions/Functions/Colors.html

祝你好运!

于 2013-09-10T03:53:01.873 回答