В моих таблицах стилей я вызываю span
, используя примеси Susy для управления шириной многочисленных модулей, используемых на сайте.
Теперь у меня есть требование изменить ширину желоба сетки в заданной точке останова. Принимая во внимание, что с традиционной системой сетки, подобной той, что используется в Foundation, все, что мне нужно, это такой медиа-запрос (при условии, что я использовал классы для элементов):
@include breakpoint($medium-up) {
.column, .columns
{
padding: 6rem;
}
}
Я не вижу, как сделать то же самое, используя Susy. Все мои стили сетки теперь предоставляются с помощью миксинов, поэтому у меня больше нет четких крючков для нацеливания на промежутки.
Как я могу переключать ширину желоба в точке останова, не прибегая к добавлению отдельных точек останова для каждого места, где я использовал span
?
Из документации Susy кажется, что ответ состоит в том, чтобы добавить что-то вроде:
.example {
@include span(6);
@include susy-breakpoint($medium-up, $medium-up-layout) {
@include span(6);
}
}
Но повторение этого во всех моих модулях кажется большим дублированием.
Конечно, эта проблема не ограничивается Susy. Те же проблемы возникают при использовании вертикального ритма Компаса. Как только ритм должен измениться в точке останова, единственным вариантом является явное объявление изменения в точке останова в каждой точке, где используется функциональность вертикального ритма.
В обоих случаях — горизонтальной компоновки и вертикального ритма — кажется, что необходим уровень абстракции, чтобы позволить централизованным изменениям распространяться по модулям и избежать распространения дублированных медиа-запросов.
Чтобы было ясно, я никоим образом не критикую ни один из наборов инструментов. Просто ищем лучший способ их использовать.