From: Kevin Ball Date: Tue, 1 Aug 2017 18:12:29 +0000 (-0700) Subject: Fix collapse responsiveness bug in xy-grid X-Git-Tag: v6.4.2-rc2~1^2~1^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F10492%2Fhead;p=thirdparty%2Ffoundation%2Ffoundation-sites.git Fix collapse responsiveness bug in xy-grid --- diff --git a/scss/xy-grid/_classes.scss b/scss/xy-grid/_classes.scss index 0c750a221..e7ae95eb2 100644 --- a/scss/xy-grid/_classes.scss +++ b/scss/xy-grid/_classes.scss @@ -219,16 +219,16 @@ // Collapse classes @mixin xy-collapse-grid-classes($margin-grid: true, $padding-grid: true) { - @include -zf-each-breakpoint { + @each $bp in $breakpoint-classes { @if $margin-grid { - .#{$-zf-size}-margin-collapse { - @include xy-grid-collapse($gutter-type: margin); + .#{$bp}-margin-collapse { + @include xy-grid-collapse($gutter-type: margin, $min-breakpoint: $bp); } } @if $padding-grid { - .#{$-zf-size}-padding-collapse { - @include xy-grid-collapse($gutter-type: padding); + .#{$bp}-padding-collapse { + @include xy-grid-collapse($gutter-type: padding, $min-breakpoint: $bp); } } } diff --git a/scss/xy-grid/_collapse.scss b/scss/xy-grid/_collapse.scss index 71a6f9701..d9029370d 100644 --- a/scss/xy-grid/_collapse.scss +++ b/scss/xy-grid/_collapse.scss @@ -14,40 +14,60 @@ @mixin xy-grid-collapse( $selector: '.cell', $gutter-type: margin, - $gutter-position: right left + $gutter-position: right left, + $min-breakpoint: $-zf-zero-breakpoint ) { // First, lets negate any margins on the top level @if ($gutter-type == 'margin') { - @each $value in $gutter-position { - margin-#{$value}: 0; - } + @include breakpoint($min-breakpoint) { + @each $value in $gutter-position { + margin-#{$value}: 0; + } > #{$selector} { @each $value in $gutter-position { margin-#{$value}: 0; } } + } + + $excluded-bps: -zf-breakpoints-less-than($min-breakpoint); // Output new widths to not include gutters @each $bp in $breakpoint-classes { - @for $i from 1 through $grid-columns { - // Sizing (percentage) - > .#{$bp}-#{$i} { - @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding); + @if(sl-contain($excluded-bps, $bp)) { + @include breakpoint($min-breakpoint) { + @for $i from 1 through $grid-columns { + // Sizing (percentage) + > .#{$bp}-#{$i} { + @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding); + } + } } - } + } @else { + @include breakpoint($bp) { + @for $i from 1 through $grid-columns { + // Sizing (percentage) + > .#{$bp}-#{$i} { + @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding); + } + } + } + } } } @else { - @each $value in $gutter-position { - margin-#{$value}: 0; - } - - > #{$selector} { + @include breakpoint($min-breakpoint) { @each $value in $gutter-position { - padding-#{$value}: 0; + margin-#{$value}: 0; + } + + > #{$selector} { + @each $value in $gutter-position { + padding-#{$value}: 0; + } } } } diff --git a/test/visual/xy-grid/collapse.html b/test/visual/xy-grid/collapse.html index d57d1cc79..df33fc2d3 100644 --- a/test/visual/xy-grid/collapse.html +++ b/test/visual/xy-grid/collapse.html @@ -48,6 +48,24 @@
4
+

Large margin collapse

+
+
10/8/6 cells
+
2/4/6 cells
+
+ +

Medium margin collapse

+
+
10/8/6 cells
+
2/4/6 cells
+
+ +

Small margin collapse

+
+
10/8/6 cells
+
2/4/6 cells
+
+

Padding Grid Collapse