// Foundation for Sites by ZURB // foundation.zurb.com // Licensed under MIT Open Source //// /// @group grid //// /// Outputs CSS classes for the grid. /// @access private @mixin CHAMELEON-grid( $row: 'grid', $column: 'grid__columns', $column-row: 'column-row', $push: 'push', $pull: 'pull', $center: 'centered', $uncenter: 'uncentered', $collapse: 'collapse', $uncollapse: 'uncollapse', $offset: 'offset', $end: 'end', $expanded: 'expanded', $class-prefix: 'grid__', $class-modifier: 'grid--' ) { // Row .#{$row} { @include grid-row; // Collapsing &.#{$class-modifier}#{$collapse} { > .#{$column} { @include grid-col-collapse; } } // Nesting & & { @include grid-row-nest($grid-column-gutter); &.#{$class-modifier}#{$collapse} { margin-left: 0; margin-right: 0; } } // Expanded (full-width) row &.#{$class-modifier}#{$expanded} { max-width: none; .#{$row} { margin-left: auto; margin-right: auto; } } } // Column .#{$column} { @include grid-col; @if $grid-column-align-edge { &.#{$class-modifier}#{$end} { @include grid-col-end; } } } // Column row // The double .row class is needed to bump up the specificity .#{$column}.#{$row}.#{$row} { float: none; // To properly nest a column row, padding and margin is removed .#{$row} & { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; } } @include -zf-each-breakpoint { @for $i from 1 through $grid-column-count { // Column width .#{$class-prefix}#{$-zf-size}-#{$i} { @include grid-col-size($i); } // Source ordering @if $i < $grid-column-count { .#{$class-prefix}#{$-zf-size}-#{$push}-#{$i} { @include grid-col-pos($i); } .#{$class-prefix}#{$-zf-size}-#{$pull}-#{$i} { @include grid-col-pos(-$i); } } // Offsets $o: $i - 1; .#{$class-prefix}#{$-zf-size}-#{$offset}-#{$o} { @include grid-col-off($o); } } // Block grid @for $i from 1 through $block-grid-max { .#{$class-prefix}#{$-zf-size}-up-#{$i} { @include grid-layout($i, ".#{$column}"); } } // Responsive collapsing .#{$class-prefix}#{$-zf-size}-#{$collapse} { > .#{$column} { @include grid-col-collapse; } .#{$row} { margin-left: 0; margin-right: 0; } } .#{$class-prefix}#{$-zf-size}-#{$uncollapse} { $gutter: -zf-get-bp-val($grid-column-gutter, $-zf-size); > .#{$column} { @include grid-col-uncollapse($gutter); } } // Positioning .#{$class-prefix}#{$-zf-size}-#{$center} { @include grid-col-pos(center); } // Gutter adjustment .#{$class-prefix}#{$-zf-size}-#{$uncenter}, .#{$class-prefix}#{$-zf-size}-#{$push}-0, .#{$class-prefix}#{$-zf-size}-#{$pull}-0 { @include grid-col-unpos; } } @if $column == 'column' { .columns { // scss-lint:disable PlaceholderInExtend @extend .column; } } }