11// this grid should be only implemented on full browser width elements!
22
3+ //
4+ // breakpoints:
5+ // xxs: max. 575px
6+ // xs: min. 576px
7+ // s: min. 768px
8+ // m: min. 992px
9+ // l: min. 1200px
10+ // xl: min. 1680px
11+ // xxl: min. 1920px
12+
313// values: colums, margin, grid-gutter
414$grid-values-map : (
515 xs : (
@@ -58,18 +68,6 @@ $grid-max-width: #{map-get($min-screensize-map, l)}px;
5868 $min-screensize-map ,
5969 $screensize
6070) {
61- /*
62- @if $margin == auto {
63- min-width: calc(#{$grid-max-width} - (#{$max-grid-h-margin} * 2));
64- } @else {
65- min-width: calc(
66- #{map-get($min-screensize-map, $screensize)}px - (#{$margin} * 2)
67- );
68- }
69- */
70-
71- // margin-left: $margin;
72- // margin-right: $margin;
7371 padding-left : $margin ;
7472 padding-right : $margin ;
7573}
@@ -216,6 +214,7 @@ $grid-max-width: #{map-get($min-screensize-map, l)}px;
216214 float : left ;
217215 flex-shrink : 1 ;
218216 border : 1px green solid ;
217+ width : 100% ;
219218}
220219
221220.#{$prefix } grid__col--align-self-flex-start {
@@ -234,88 +233,6 @@ $grid-max-width: #{map-get($min-screensize-map, l)}px;
234233 align-self : stretch ;
235234}
236235
237- // set col width for 12 col layout
238- @for $i from 1 through $grid-max-cols {
239- .#{$prefix } grid__col--#{$i } -#{$grid-max-cols } {
240- $cols : $grid-min-cols ;
241-
242- $current-cols : $i ;
243- @if $current-cols > $cols {
244- $current-cols : $cols ;
245- }
246- @include grid-breakpoint-content ($current-cols , $cols , $grid-gutter );
247-
248- // change col with and grid-gutter on different breakpoints
249- @each $screensize , $valuelist in $grid-values-map {
250- $index : index (($grid-values-map ), ($screensize $valuelist ));
251-
252- // get next element from grid-values-map for max-with on breakpoint media query.
253- @if $index < $grid-values-map-length {
254- $iterator-next : nth ($grid-values-map , $index + 1 );
255- $next-screen-size : nth ($iterator-next , 1 );
256-
257- @include breakpoint--min-max (#{$screensize } , #{$next-screen-size } ) {
258- $cols : nth ($valuelist , 1 );
259- // grid-gutter changes with breakpoint
260- $grid-gutter : nth ($valuelist , 3 );
261-
262- $current-cols : $i ;
263- @if $current-cols > $cols {
264- $current-cols : $cols ;
265- }
266- @include grid-breakpoint-content ($current-cols , $cols , $grid-gutter );
267- }
268- }
269- // bigger than xl - breakpoint uses just min-width in media query
270- @else {
271- @include breakpoint--min (#{$screensize } ) {
272- $cols : nth ($valuelist , 1 );
273- $grid-gutter : nth ($valuelist , 3 );
274-
275- @include grid-breakpoint-content ($i , $cols , $grid-gutter );
276- }
277- }
278- }
279- }
280- }
281-
282- // reverse map for specifity reasons
283- $grid-values-reverse-map : mapReverse ($grid-values-map );
284- // @debug $grid-values-reverse-map;
285-
286- // set cols for xl, l, m, s, xs
287- @each $screensize , $valuelist in $grid-values-reverse-map {
288- $index : index (($grid-values-reverse-map ), ($screensize $valuelist ));
289- $cols : nth ($valuelist , 1 );
290- $grid-gutter : nth ($valuelist , 3 );
291-
292- // get next screen size from reversed map as long as a next element in map exists
293- @if $grid-values-map-length > $index {
294- $iterator-next : nth ($grid-values-reverse-map , $index + 1 );
295- $next-screen-size : nth ($iterator-next , 1 );
296-
297- @for $i from 1 through $cols {
298- .#{$prefix } grid__col--#{$screensize } -#{$i } -#{$cols } {
299- @include breakpoint--min-max (#{$next-screen-size } , #{$screensize } ) {
300- @include grid-breakpoint-content ($i , $cols , $grid-gutter );
301- }
302- }
303- }
304- // get last screen size for media query to display smallest variant
305- } @else {
306- $iterator-next : nth ($grid-values-reverse-map , $index - 1 );
307- $last-screen-size : nth ($iterator-next , 1 );
308-
309- @for $i from 1 through $cols {
310- .#{$prefix } grid__col--#{$screensize } -#{$i } -#{$cols } {
311- @include breakpoint--min-max (#{$screensize } , #{$last-screen-size } ) {
312- @include grid-breakpoint-content ($i , $cols , $grid-gutter );
313- }
314- }
315- }
316- }
317- }
318-
319236// set cols for xxs
320237$grid-max-cols : 4 ;
321238$grid-min-cols : 4 ;
@@ -331,3 +248,17 @@ $grid-gutter: 24px;
331248 }
332249 }
333250}
251+
252+ // set cols for xs - xl
253+ @each $screensize , $valuelist in $grid-values-map {
254+ $cols : nth ($valuelist , 1 );
255+ $grid-gutter : nth ($valuelist , 3 );
256+
257+ @for $i from 1 through $cols {
258+ .#{$prefix } grid__col--#{$screensize } -#{$i } -#{$cols } {
259+ @include breakpoint--min (#{$screensize } ) {
260+ @include grid-breakpoint-content ($i , $cols , $grid-gutter );
261+ }
262+ }
263+ }
264+ }
0 commit comments