@@ -17,7 +17,7 @@ $flexbox-grid-mixins-grid-type: skeleton !default;
17
17
$flexbox-grid-mixins-box-sizing : border-box !default ;
18
18
$flexbox-grid-mixins-stack : margin-bottom !default ;
19
19
20
- @mixin grid ($display : flex , $flex-direction : null, $flex-wrap : null, $flex-flow : null, $justify-content : null, $align-items : null, $align-content : null, $gutter : null)
20
+ @mixin grid ($display : flex , $flex-direction : null, $flex-wrap : null, $flex-flow : null, $justify-content : null, $align-items : null, $align-content : null, $gutter : null, $gap : null, $row-gap : null, $column-gap : null )
21
21
{
22
22
@if $flexbox-grid-mixins-box-sizing == ' border-box' or $flexbox-grid-mixins-box-sizing == ' content-box' {
23
23
box-sizing : $flexbox-grid-mixins-box-sizing ;
@@ -55,15 +55,40 @@ $flexbox-grid-mixins-stack: margin-bottom !default;
55
55
}
56
56
}
57
57
58
+ @if $gap != null {
59
+ @if length ($gap ) == 1 {
60
+ gap : $gap ;
61
+ } @else if length ($gap ) == 2 {
62
+ $row-gap : nth ($gap , 1 );
63
+ $column-gap : nth ($gap , 2 );
64
+
65
+ row-gap : $row-gap ;
66
+ column-gap : $column-gap ;
67
+ }
68
+ } @else {
69
+ row-gap : $row-gap ;
70
+ column-gap : $column-gap ;
71
+ }
72
+
58
73
@content ;
59
74
}
60
75
61
- @mixin grid-col ($col : null, $grid-columns : 12 , $col-offset : null, $gutter : null, $align-self : null, $flex-grow : 0 , $flex-shrink : 1 , $flex-basis : auto , $order : null, $shorthand : true, $last-child : false, $width : null, $max-width : null, $min-width : null, $height : null, $max-height : null, $min-height : null)
76
+ @mixin grid-col ($col : null, $grid-columns : 12 , $col-offset : null, $gutter : null, $gap : null, $row-gap : null, $column-gap : null, $ align-self : null, $flex-grow : 0 , $flex-shrink : 1 , $flex-basis : auto , $order : null, $shorthand : true, $last-child : false, $width : null, $max-width : null, $min-width : null, $height : null, $max-height : null, $min-height : null)
62
77
{
63
78
@if $flexbox-grid-mixins-box-sizing == ' border-box' or $flexbox-grid-mixins-box-sizing == ' content-box' {
64
79
box-sizing : $flexbox-grid-mixins-box-sizing ;
65
80
}
66
81
82
+ @if $gap != null {
83
+ @if length ($gap ) == 1 {
84
+ $row-gap : $gap ;
85
+ $column-gap : $gap ;
86
+ } @else if length ($gap ) == 2 {
87
+ $row-gap : nth ($gap , 1 );
88
+ $column-gap : nth ($gap , 2 );
89
+ }
90
+ }
91
+
67
92
@if meta .type-of ($col ) == number and math .is-unitless ($col ) == true {
68
93
$flex-shrink : 0 ;
69
94
$flex-basis : math .percentage (math .div ($col , $grid-columns ));
@@ -75,6 +100,13 @@ $flexbox-grid-mixins-stack: margin-bottom !default;
75
100
$flex-basis : calc ( #{$flex-basis } - #{$gutter } );
76
101
}
77
102
103
+ @if $column-gap and unit ($column-gap ) == ' %' {
104
+ $flex-basis : $flex-basis - $column-gap + $column-gap / $grid-columns * $col ;
105
+ } @else if $column-gap and unitless ($column-gap ) == false {
106
+ @if ( $grid-columns != $col ) {
107
+ $flex-basis : calc ( #{$flex-basis } - #{$column-gap } + #{math .div ($column-gap , $grid-columns ) * $col } );
108
+ }
109
+ }
78
110
} @else if $flexbox-grid-mixins-grid-type == margin- offset {
79
111
@if $gutter and math .unit ($gutter ) == ' %' {
80
112
$flex-basis : math .div (100% - ($gutter * (math .div ($grid-columns , $col ) - 1 )), math .div ($grid-columns , $col ));
0 commit comments