2016-07-26 2 views
0

Я в настоящее время использую REM mixin от Karl Merkli.SCSS rem mixin, который принимает несколько свойств

Он отлично работает, однако я нахожу, что я пишу много @ включений в процесс. например:

@include rems(height, 1); 
    @include rems(width, 1); 
    @include rems(margin, 1, 0, 4, 0); 
    @include rems(padding, 0.5, 1); 
    // plus all other @includes Ii might use too 
    @include opacity(0.7); 
    @include clearfix; 
    // etc 

Я пытаюсь разработать способ консолидации ссылки на тот же Mixin в один. В конце концов, я ищу решение, где я мог бы написать что-то похожее на следующее:

@include rems(height, 1; width, 1; margin, 1, 0, 4, 0; padding, 0.5, 1;); 

Заранее спасибо

+0

Что делать, если вы добавите больше свойств для mixin rem? Например: '@mixin rem ($ property, $ values, $ property, $ values, $ property, $ values)' Я вообще не использую эти микшины, так что ответ может быть действительно глупым, но о ну, поскольку я googled, я не нашел никаких решений, поэтому единственный способ - изменить микшинг самостоятельно. –

ответ

0

Решение было бы создать в период между Mixin, которая принимает список списков и руки каждый список прочь к rems Mixin:

@mixin multi-rems($lists) { 
    @each $list in $lists { 
     @include rems($list...); 
    } 
} 

И затем использовать его так:

li { 
    @include multi-rems(((margin, 0, 4), (padding, 2, 3))); 
} 

Вот SassMeister Gist. Приветствия.

+0

Отлично. Я определенно могу с этим работать. Спасибо за вашу помощь. –

+0

Нет проблем. Повеселись! – bowheart

Смежные вопросы