使用罗盘编译一些SCSS文件时遇到问题。基本上,tint
和shade
函数被忽略。所以,这个:
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。指南针已经替换了变量而没有计算出函数,有什么理由可以解决这个问题吗?罗盘中的设置或命令行参数可能?
答案 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
祝你好运!