【问题标题】:Passing list elements as arguments to a mixin将列表元素作为参数传递给 mixin
【发布时间】:2014-02-20 05:08:15
【问题描述】:

以下代码有效,除非我尝试将$gradient 传递给@include background-image

@mixin compositeFill($size: 100px, $gradient:(top, #000000 0%, #FFFFFF 100%)) {

    $isTop: nth($gradient, 1) == "top";
    $direction: if($isTop, vertical, horizontal);
    $widthHeight: if($isTop, height, width);
    $heightWidth: if($isTop, width, height);

    // snipped a whole bunch of irrelevant stuff
    // this is what fails:
    @include background-image(linear-gradient($gradient));
}

如何将列表(例如$gradient)传递给需要多个参数的mixin?

【问题讨论】:

标签: sass


【解决方案1】:

要将参数列表传递给接受多个参数的mixin,您可以像这样使用它:

@include background-image(linear-gradient($gradient...));

三个点表示您要填写列表元素中的参数...否则整个列表作为单个参数传递...并且linear-gradient() mixin 失败(因为它需要至少两个颜色停止参数)。

DEMO

【讨论】:

    猜你喜欢
    • 2011-11-22
    • 2012-07-18
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多