Переменные
В файле variables.scss хранятся все переменные проекта.
Значение по умолчанию:
$grids: 12; // колличество колонок
$gap: 10; // отступы между элементами (если у контейнера есть .box)
$wrapper_fixed: 1360; // фиксированная ширина для класса .wrapper. Если ширина окна будет меньше ширины в переменной - ширина .wrapper будет 100%
Брейкпоинты:
$breakpoints: (
sm: 480,
md: 768,
lg: 1024,
xl: $wrapper_fixed,
xxl: 1680,
re: 1920
);
Пример использования:
@include media(sm) {...}
@include media(md) {...}
@include media(lg) {...}
Создание кастомных колонок:
$custom_grids: (
sm: (4,5),
re: (3)
);
В примере выше будут сгенирированы классы по правилу:
.{breakpoint}_{number} > .{breakpoint}_sgrid_{index}
.sm_4 > .sm_sgrid_1 {...}
.sm_4 > .sm_sgrid_2 {...}
.sm_4 > .sm_sgrid_3 {...}
.sm_4 > .sm_sgrid_4 {...}
.sm_5 > .sm_sgrid_1 {...}
.sm_5 > .sm_sgrid_2 {...}
.sm_5 > .sm_sgrid_3 {...}
.sm_5 > .sm_sgrid_4 {...}
.sm_5 > .sm_sgrid_5 {...}
.re_3 > .re_sgrid_1 {...}
.re_3 > .re_sgrid_2 {...}
.re_3 > .re_sgrid_3 {...}
Автоматически будут созданые медиазапросы и рассчитана ширина классов
@media screen and (min-width: 480px) {
.sm_4>.sm_sgrid_1 {
-webkit-box-flex:0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.sm_4>.sm_sgrid_2 {
-webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.sm_4>.sm_sgrid_3 {
-webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%
}
.sm_4>.sm_sgrid_4 {
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.sm_5>.sm_sgrid_1 {
-webkit-box-flex: 0;
-ms-flex: 0 0 20%;
flex: 0 0 20%;
max-width: 20%
}
.sm_5>.sm_sgrid_2 {
-webkit-box-flex: 0;
-ms-flex: 0 0 40%;
flex: 0 0 40%;
max-width: 40%
}
.sm_5>.sm_sgrid_3 {
-webkit-box-flex: 0;
-ms-flex: 0 0 60%;
flex: 0 0 60%;
max-width: 60%
}
.sm_5>.sm_sgrid_4 {
-webkit-box-flex: 0;
-ms-flex: 0 0 80%;
flex: 0 0 80%;
max-width: 80%
}
.sm_5>.sm_sgrid_5 {
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
}
@media screen and (min-width: 1920px) {
.re_3>.re_sgrid_1 {
-webkit-box-flex:0;
-ms-flex: 0 0 33.3333333333%;
flex: 0 0 33.3333333333%;
max-width: 33.3333333333%
}
.re_3>.re_sgrid_2 {
-webkit-box-flex: 0;
-ms-flex: 0 0 66.6666666667%;
flex: 0 0 66.6666666667%;
max-width: 66.6666666667%
}
.re_3>.re_sgrid_3 {
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
}
генерация z-index
$z-indexes: (
"content",
"fixed",
"tooltip",
"dropdown",
"popup",
);
Значения генирируются про правивилу {index} * 10
Пример
.class_1 {z-index: zindex('content')}
.class_2 {z-index: zindex('content')+2}
.class_3 {z-index: zindex('tooltip')+6}
.class_4 {z-index: zindex('popup')}
Результат
.class_1 {z-index: 1}
.class_2 {z-index: 3}
.class_3 {z-index: 36}
.class_4 {z-index: 50}