2012-06-19 2 views
3

Я пытаюсь сделать таблицу стилей SCSS легко настраиваемой путем определения набора констант, которые будут использоваться в нескольких миксинах и в библиотеке Compass. В идеале, я хотел бы быть в состоянии сделать следующее:Передача списка в mixin в SASS в качестве параметров?

$item-bgs: linear-gradient(white, black), #ccc; 

@mixin some-mixin() { 
    @include background-with-css2-fallback($item-bgs*); 
} 

background-with-css2-fallback является Compass mixin, который принимает до 10 Params. Я предполагаю, что SASS в настоящее время не поддерживает передачу параметра списка в качестве списка аргументов, иначе Compass, вероятно, использовал бы его, но мне интересно, могу ли я получить список $item-bgs как первые 2 аргумента в mixin background-with-css2-fallback. Есть ли способ сделать это в настоящее время, или он даже запланирован для SASS в будущем?

ответ

1

Возможно, он не поддерживается SASS изначально, но Compass поддерживает передачу списка в качестве первого аргумента в mixin background-with-css2-fallback. Если вы посмотрите на источник для mixin, вы увидите, что он использует функцию compact, которая обрабатывает логику для свертывания аргументов в один список, независимо от того, передается ли он отдельно или в одном параметре списка.

Например, это отлично работает для меня:

@import "compass"; 

$item-bgs: (linear-gradient(white, black), #ccc); 

.test { 
    @include background-with-css2-fallback($item-bgs); 
} 
Смежные вопросы