Sha256: 2613382fb9791fd57bd4434ee9b79c4e43a7e8e042e18ddf537abf6f23dda9cc

Contents?: true

Size: 1.96 KB

Versions: 35

Compression:

Stored size: 1.96 KB

Contents

// Foundation for Sites by ZURB
// foundation.zurb.com
// Licensed under MIT Open Source

////
/// @group grid
////

/// Sizes child elements so that `$n` number of items appear on each row.
///
/// @param {Number} $n - Number of elements to display per row.
/// @param {String} $selector ['.column'] - Selector(s) to use for child elements.
/// @param {Number|List} $gutter
///   The gutter to apply to child elements. Accepts multiple values:
///   - $grid-column-gutter will use the values in the $grid-column-gutter map, including breakpoint sizes.
///   - A fixed numeric value will apply this gutter to all breakpoints.
@mixin grid-layout(
  $n,
  $selector: '.column',
  $gutter: null
) {
  & > #{$selector} {
    float: $global-left;
    width: percentage(1/$n);

    // If a $gutter value is passed
    @if($gutter) {
      // Gutters
      @if type-of($gutter) == 'map' {
        @each $breakpoint, $value in $gutter {
          $padding: rem-calc($value) / 2;

          @include breakpoint($breakpoint) {
            padding-right: $padding;
            padding-left: $padding;
          }
        }
      }
      @else if type-of($gutter) == 'number' and strip-unit($gutter) > 0 {
        $padding: rem-calc($gutter) / 2;
        padding-right: $padding;
        padding-left: $padding;
      }
    }

    &:nth-of-type(1n) {
      clear: none;
    }

    &:nth-of-type(#{$n}n+1) {
      clear: both;
    }

    &:last-child {
      float: $global-left;
    }
  }
}

/// Adds extra CSS to block grid children so the last items in the row center automatically. Apply this to the columns, not the row.
///
/// @param {Number} $n - Number of items that appear in each row.
@mixin grid-layout-center-last($n) {
  @for $i from 1 to $n {
    @if $i == 1 {
      &:nth-child(#{$n}n+1):last-child {
        margin-left: (100 - 100/$n * $i) / 2 * 1%;
      }
    }
    @else {
      &:nth-child(#{$n}n+1):nth-last-child(#{$i}) {
        margin-left: (100 - 100/$n * $i) / 2 * 1%;
      }
    }
  }
}

Version data entries

35 entries across 35 versions & 7 rubygems

Version Path
bedrock_sass-0.2.2 assets/_vendor/foundation/scss/grid/_layout.scss
foundation-rails-6.6.1.0 vendor/assets/scss/grid/_layout.scss
foundation-rails-6.5.3.0 vendor/assets/scss/grid/_layout.scss
bedrock_sass-0.2.1 assets/_vendor/foundation/scss/grid/_layout.scss
foundation-rails-6.5.1.0 vendor/assets/scss/grid/_layout.scss
locomotivecms_wagon-2.4.1 generators/foundation/public/stylesheets/foundation6/grid/_layout.scss
bedrock_sass-0.2.0 assets/_vendor/foundation/scss/grid/_layout.scss
locomotivecms_wagon-2.4.0 generators/foundation/public/stylesheets/foundation6/grid/_layout.scss
foundation-rails-6.4.3.0 vendor/assets/scss/grid/_layout.scss
bedrock_sass-0.1.9 assets/_vendor/foundation/scss/grid/_layout.scss
bedrock_sass-0.1.8 assets/_vendor/foundation/scss/grid/_layout.scss
bedrock_sass-0.1.7 assets/_vendor/foundation/scss/grid/_layout.scss
bedrock_sass-0.1.6 assets/_vendor/foundation/scss/grid/_layout.scss
bedrock_sass-0.1.5 assets/_vendor/foundation/scss/grid/_layout.scss
bedrock_sass-0.1.4 assets/_vendor/foundation/scss/grid/_layout.scss
bedrock_sass-0.1.3 assets/_vendor/foundation/scss/grid/_layout.scss
bedrock_sass-0.1.2 assets/_vendor/foundation/scss/grid/_layout.scss
foundation-rails-6.4.1.3 vendor/assets/scss/grid/_layout.scss
aacinfo-theme-2.0.1 _sass/foundation-sites/scss/grid/_layout.scss
jekyll-theme-foundation-0.3.6 _sass/scss/grid/_layout.scss