Есть ли способ использовать как необязательные, так и переменные элементы в sass mixin?SASS Mixin с необязательными и переменными параметрами
я стараюсь
@mixin name($className, $centered: false, $dimension...)
но первое значение размера присваивается $centered
переключения параметров заказа не компилировать
@mixin name($className, $dimension..., $centered: false)
ошибка:
SASSInvalid CSS after "..., $dimension...": expected ")", was ", $centered: fa..."
, так как mixin без необязательного параметра используется во многих местах (более 70), я не хочу, чтобы вы меняли все, чтобы добавить новые параметры, поэтому я хочу оставить его необязательным?
Любой способ изменить этот микс или я должен оставить оригинал без $centered
и создать ovverride с новым параметром?
для информации это Mixin тело:
@for $i from 1 through length($dimension){
@if($centered) {
.#{$className}Td#{$i}, .#{$className}Th#{$i} {
width: nth($dimension, $i);
text-align:center;
}
}
@else{
.#{$className}Td#{$i}, .#{$className}Th#{$i} {width: nth($dimension, $i); }
}
}
EDIT с полным cowking Например:
просто IAM определения CSS для ширины столбца моей таблицы в более быстрый способ, так это
@include nome ("columnsName", 40%, 30%, 30%);
оказывается таким образом:
.columnsNameTd1, .columnsNameTh1{width: 40%;}
.columnsNameTd2, .columnsNameTh2{ width: 30%; }
.columnsNameTd3, .columnsNameTh3{ width: 30%;}
я хочу способ выравнивания текста центр все мои столбцы, возможно, может быть интересно посмотреть, если есть способ сделать, чтобы указать, какой столбец в центре, что делает все остальное осталось по умолчанию
вы получили запятую, 'после '$ centered: false' в вашем втором mixin .. Потому что это должно работать. в противном случае вы могли бы попробовать '@if ($ centered == true)', хотя это должно работать без него –
запятая была ошибкой копирования-вставки, я добавляю ошибку компиляции, в основном, кажется, что он ничего не хочет после $ dimension ... –
вы можете попробовать удалить свой argslist ('...'), возможно, это убьет компиляционный процесс. но я предполагаю, что вам нужно больше 1 переменной для измерения :( –