我在本地为项目特定的线性渐变创建混合。这个想法是,我有6个不同的梯度方案正在进行。我试图从一个变量传递参数的所有值。不知道我是否超越了SASS现在支持的范围。此外,所有3个文件都在单独的文件中,这些文件被导入到主站点scss文件中。SASS使用变量列表来填充混合中的参数
任何指导将不胜感激。
$gradientBlue: #68bafa, #279bf2, #2891e2;
@mixin verticalGradient($color-1, $color-2, $color-3: "", $color-4: "", $color-5: "") {
background: $color-1;
@include pie;
@include filter-gradient($color-1, $color-2);
@include background-image(linear-gradient(top, $color-1 0%, $color-2 100%));
@if #{$color-3} != none {
text-shadow: 1px 1px 1px #{$color-3};
}
@if #{$color-4} != none {
&:hover {
@include pie;
background: $color-4;
text-shadow: 1px 1px 1px $color-5;
}
}
}
@include verticalGradient($gradientBlue);
此外,阅读有关[插补](http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#interpolation_)。你有点疯了,我无法想象一个你想用'@ if'指令的地方。更多的是选择器和属性名称。 – bookcasey
您可能需要考虑将纯色背景色设置为'mix($ color-1,$ color-2)'。在我自己的工作中,我发现它看起来更像一个倒退,而不是用任何一种停止颜色。另一方面,你可能会发现第二站比第一站更合适的背景色。 – cimmanon