Responsive & Spacing in MIZ

This section explains breakpoints, header & boxed spacing, and configuration variables for responsive classes in the MIZ framework.

Breakpoints #

The $break-points variable defines screen widths for responsive classes.

            

SCSS

// miz/sass/config/_responsive.scss $break-points: ( xxl: 1920px, xl: 1280px, lg: 1024px, md: 767px, sm: 478px );

Rules:

  • Only variables with responsive: true generate classes for each breakpoint.

  • If count: 0, no classes are generated and the property is unavailable.

  • You can add new breakpoints (e.g., es: 320px) and they will be used for responsive variables.

Example: $conf-width with custom breakpoints

            

SCSS

// miz/sass/config/_responsive.scss $break-points: ( big: 1600px, medium: 1200px, small: 600px ); $conf-width: ( count: 5, responsive: true );

Generated CSS Output:

            

CSS

.w-big-0 { width: 0%; } .w-big-1 { width: 25%; } .w-big-2 { width: 50%; } .w-big-3 { width: 75%; } .w-big-4 { width: 100%; } @media screen and (max-width: 1200px) { .w-medium-0 { width: 0%; } .w-medium-1 { width: 25%; } .w-medium-2 { width: 50%; } .w-medium-3 { width: 75%; } .w-medium-4 { width: 100%; } } @media screen and (max-width: 600px) { .w-small-0 { width: 0%; } .w-small-1 { width: 25%; } .w-small-2 { width: 50%; } .w-small-3 { width: 75%; } .w-small-4 { width: 100%; } }

Header Space #

Horizontal

            

SCSS

$header-space-horizontally: (81px, 70px, 50px, 25px, 20px);

Generated CSS with variables:

            

CSS

.header { --padding-left: 81px; --padding-right: 81px; padding-left: var(--padding-left); padding-right: var(--padding-right); } @media screen and (max-width: 1280px) { .header { --padding-left: 70px; --padding-right: 70px; } } @media screen and (max-width: 1024px) { .header { --padding-left: 50px; --padding-right: 50px; } } @media screen and (max-width: 767px) { .header { --padding-left: 25px; --padding-right: 25px; } } @media screen and (max-width: 478px) { .header { --padding-left: 20px; --padding-right: 20px; } }

Vertical

            

SCSS

$header-space-vertically: (5rem, 4.5rem, 4rem, 3rem, 3rem);

Generated CSS with variables:

            

CSS

.header { --padding-top: 5rem; --padding-bottom: 5rem; padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); } @media screen and (max-width: 1280px) { .header { --padding-top: 4.5rem; --padding-bottom: 4.5rem; } } @media screen and (max-width: 1024px) { .header { --padding-top: 4rem; --padding-bottom: 4rem; } } @media screen and (max-width: 767px) { .header { --padding-top: 3rem; --padding-bottom: 3rem; } } @media screen and (max-width: 478px) { .header { --padding-top: 3rem; --padding-bottom: 3rem; } }

Important: Number of values in $header-space-horizontally and $header-space-vertically must match the number of breakpoints.

Boxed Space #

            

SCSS

$boxed-space-horizontally: (81px, 70px, 50px, 25px, 20px); $boxed-space-vertically: (5rem, 4.5rem, 4rem, 3rem, 3rem);

Generated CSS with variables:

            

CSS

.section { --padding-left: 81px; --padding-right: 81px; padding-left: var(--padding-left); padding-right: var(--padding-right); } @media screen and (max-width: 1280px) { .section { --padding-left: 70px; --padding-right: 70px; } } @media screen and (max-width: 1024px) { .section { --padding-left: 50px; --padding-right: 50px; } } @media screen and (max-width: 767px) { .section { --padding-left: 25px; --padding-right: 25px; } } @media screen and (max-width: 478px) { .section { --padding-left: 20px; --padding-right: 20px; } } .section { --padding-top: 5rem; --padding-bottom: 5rem; padding-top: var(--padding-top); padding-bottom: var(--padding-bottom); } @media screen and (max-width: 1280px) { .section { --padding-top: 4.5rem; --padding-bottom: 4.5rem; } } @media screen and (max-width: 1024px) { .section { --padding-top: 4rem; --padding-bottom: 4rem; } } @media screen and (max-width: 767px) { .section { --padding-top: 3rem; --padding-bottom: 3rem; } } @media screen and (max-width: 478px) { .section { --padding-top: 3rem; --padding-bottom: 3rem; } }

Number of values must match breakpoints.

Configuration Variables (conf-*) #

- responsive: true → Classes generated for each breakpoint.

- responsive: false → Only standard classes, no breakpoints.

- count = 0 → No classes generated.

Example: $conf-gaps

            

SCSS

$conf-gaps: (count: 5, unit: rem, factor: 0.5, responsive: true);

Generated CSS with custom breakpoints:

            

CSS

.gap-large-0 { gap: 0rem; } .gap-large-1 { gap: 0.5rem; } .gap-large-2 { gap: 1rem; } .gap-large-3 { gap: 1.5rem; } .gap-large-4 { gap: 2rem; } @media screen and (max-width: 1000px) { .gap-medium-0 { gap: 0rem; } .gap-medium-1 { gap: 0.5rem; } .gap-medium-2 { gap: 1rem; } .gap-medium-3 { gap: 1.5rem; } .gap-medium-4 { gap: 2rem; } } @media screen and (max-width: 600px) { .gap-small-0 { gap: 0rem; } .gap-small-1 { gap: 0.5rem; } .gap-small-2 { gap: 1rem; } .gap-small-3 { gap: 1.5rem; } .gap-small-4 { gap: 2rem; } }

Only variables with responsive: true use breakpoints; variables with count: 0 generate nothing.