Сначала вам нужно создать миксин для медиа-запросов. Что-то вроде:
@mixin small {
@media screen and (min-width: 768px) {
@content;
}
}
@mixin medium {
@media screen and (min-width: 1024px) {
@content;
}
}
Сделайте то же самое для любых размеров, которые вы хотите. Чтобы вызвать этот миксин в вашем файле .scss, вы должны сделать следующее.
@include small {
//Your css rules here
}
@include small {
//Your css rules here
}
Для создания сетки вы хотите использовать flexbox для создания ваших столбцов. Сначала начните со столбцов по умолчанию.
.col {
flex-grow: 0;
flex-shrink: 0;
max-width: 100%;
padding-left: 10px;
padding-left: 10px;
box-sizing: border-box; //so that the padding is included in the size
}
.col-6 {
flex-basis: 50%;
max-width: 50%;
}
Таким образом, получим два столбца для окна любого размера с классами 'col' и 'col-6'. Кроме того, вам не нужно использовать класс 'col', если вам не нужны желоба.
Затем создайте классы с медиазапросами.
@include small {
.col-sm-6 {
flex-basis: 50%;
max-width: 50%;
}
}
@include medium {
.col-md-4 {
flex-basis: 33.333333%;
max-width: 33.333333%;
}
}
Вот и все. Просто добавьте классы 'col' и 'col-sm-6' и 'col-md-4', у вас будет один столбец шириной от 0 до 767 пикселей, два от 768 до 1023 и три от 1024 +.