目標: 次のように使用される scss (私は v3.2.1 を使用しています) mixin preload
(任意の数の引数 > 0):
@include preload(url("a.png"), url("b.png"));
cssを出力します:
.preload { background-image: url("a.png"), url("b.png"); }
それらの間にそのコンマを含めます。失敗した試行はすべて、シークされた出力からコンマを除いたものを生成します。 編集:もちろん、実装のバグではなく、ミックスインの呼び出しに誤りがあったことがわかりました-3つすべてが正常に機能します:
@mixin preload($img_urls...) {
.preload { background-image: $img_urls; }
}
@mixin preload($img_urls...) {
.preload { background-image: join($img_urls, (), comma); }
}
@mixin preload($img_urls...) {
$bgs: nth($img_urls, 1);
@for $n from 2 through length($img_urls) {
$bgs: $bgs, nth($img_urls, $n);
}
.preload { background-image: $bgs; }
}