Самое простое решение - передать значение gutter
в качестве параметра в @each directive
.
Но, возможно, вы захотите сохранить глобальное значение gutter
, поэтому здесь есть альтернатива:
Во-первых, вы можете сократить это:
@each $breakpoint in $breakpoints {
$name: nth($breakpoint, 1);
$size: nth($breakpoint, 2);
$container: nth($breakpoint, 3);
// ...
}
По этому:
@each $name, $size, $container in $breakpoints {
// ...
}
Затем вам нужно будет добавить новое значение в ваш список. Он будет использоваться для деления значения желоба.
Обратите внимание, что ваш список полностью действителен, но я бы предложил использовать следующий формат, который гораздо более удобочитаем.
$breakpoints: (
(lg, 1199.98px, 1200px, 1),
(md, 991.98px, 992px, 1),
(sm, 767.98px, 778px, 2),
(xs, 575.98px, 576px, 3)
) !default;
Теперь вы можете включить это новое значение в качестве параметра:
@each $name, $size, $container, $divide in $breakpoints {
// ...
}
И используйте это так:
flex-basis: calc((100% / #{$columns} * #{$i}) - #{$gutter} / #{$divide});
max-width: calc((100% / #{$columns} * #{$i}) - #{$gutter} / #{$divide});
Полный код можно посмотреть здесь.