我在SASS中有一个自定义mixin来生成表格,它只需要一些参数来生成颜色和细节。这是开始:SASS颜色参数始终为空
@mixin generate-table($background, $foreground, $border: 3px, $background-hover: null, $foreground-hover: null) {
@debug "Background: #{$background}";
@debug "Foreground: #{$foreground}";
$background-hover: hover($background) !default;
$foreground-hover: hover($foreground) !default;
的问题是,我总是用我的悬停色功能的错误颜色是NULL,即使我通过正常的值给它(用于调试,看看是否含有东西或不)。这是函数:
@function hover($color, $ratio: 15%) {
@if (lightness($color) > 50%) {
@return darken($color, $ratio);
} @else {
@return lighten($color, $ratio);
}
}
它给我这个错误:错误:$颜色:null不是'轻这没有任何意义可言的颜色。
现在,正如我在尝试的东西,我认为,当我直接将值传递给函数(在mixin中)它的工作。那么,发生了什么事情?我能做些什么来解决这个问题?
编辑:我如何调用混入:
table {
@include generate-table($background: #FFF, $foreground: #000);
我也用颜色像这样的字符串尝试:
table {
@include generate-table($background: '#FFF', $foreground: '#000');
当然没有直接assiciation像全髋关节置换,以及:
table {
@include generate-table(#FFF, #000);
哪一个都有相同的结果。
可以添加亮度的代码,变暗混入过多和地方是U调用此生成表 – Geeky
新增如何我调用generate-table并且函数lightness,darken和light是sass的基本函数,请参阅:http://sass-lang.com/documentation/Sass/Script/Functions.html – PreFiXAUT