指南针忽略SCSS文件中的色调和阴影功能

时间:2013-08-28 22:40:05

标签: css sass compass-sass

使用罗盘编译一些SCSS文件时遇到问题。基本上,tintshade函数被忽略。所以,这个:

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。指南针已经替换了变量而没有计算出函数,有什么理由可以解决这个问题吗?罗盘中的设置或命令行参数可能?

2 个答案:

答案 0 :(得分:5)

我知道这已经很晚了,但在我发现我可以使用mix()函数之前,我遇到了同样的问题。也许这会对其他人有所帮助。 mix()可以用您想要的任何颜色着色您现有的颜色。所以要把它涂成白色(这似乎是你想要的),你就这样做:

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

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

所以在我的情况下,我混合了15%的白色。

答案 1 :(得分:0)

我挖掘了一些挖掘,看起来像these functions were added to Compass core about a year ago,虽然我没有深入挖掘更改日志,看看他们进入了哪个版本。

Tint和Shade不是内置的SASS颜色功能。 Compass documentation引用了它们,但是the corresponding SASS docs do not。所以它们必须是Compass的附加组件,并且可以作为附加的库扩展来访问。

Net Magazine's examples使您觉得正确使用它们。所以,我不知道在哪里指出你,但你可以尝试更多地调试函数,看看你是否可以让它们编译。尝试使用shade( #{$custom-ui-base-color}, 15% )作为开始,这应该强制Compass在另一个之前进行一次计算(在这种情况下,只需编译变量)。

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

祝你好运!