Sha256: 1f52f0b491ac207148acb3da2baa1baebf2e027bf7d1931fee2c749b29edcd1f

Contents?: true

Size: 1.85 KB

Versions: 42

Compression:

Stored size: 1.85 KB

Contents

//
// Vertical Rhythm
//
// This is the minimal amount of code needed to create vertical rhythm in our
// CSS. If you are looking for a robust solution, look at the excellent Typey
// library. @see https://github.com/jptaranto/typey

@function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) {
  @if unit($value) != px {
    @error "The normalize vertical-rhythm module only supports px inputs. The typey library is better.";
  }
  @if $unit == rem {
    @return ($value / $base-font-size) * 1rem;
  }
  @else if $unit == em {
    @return ($value / $relative-to) * 1em;
  }
  @else { // $unit == px
    @return $value;
  }
}

@mixin normalize-font-size($value, $relative-to: $base-font-size) {
  @if unit($value) != 'px' {
    @error "normalize-font-size() only supports px inputs. The typey library is better.";
  }
  font-size: normalize-rhythm($value, $relative-to);
}

@mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) {
  $value-list: $values;
  $sep: space;
  @if type-of($values) == 'list' {
    $sep: list-separator($values);
  }
  @else {
    $value-list: append((), $values);
  }

  $normalized-values: ();
  @each $value in $value-list {
    @if unitless($value) and $value != 0 {
      $value: $value * normalize-rhythm($base-line-height, $relative-to);
    }
    $normalized-values: append($normalized-values, $value, $sep);
  }
  #{$property}: $normalized-values;
}

@mixin normalize-margin($values, $relative-to: $base-font-size) {
  @include normalize-rhythm(margin, $values, $relative-to);
}

@mixin normalize-line-height($font-size, $min-line-padding: 2px) {
  $lines: ceil($font-size / $base-line-height);
  // If lines are cramped include some extra leading.
  @if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) {
    $lines: $lines + 1;
  }
  @include normalize-rhythm(line-height, $lines, $font-size);
}

Version data entries

42 entries across 42 versions & 10 rubygems

Version Path
structrdfal-0.1.5 _sass/_vertical-rhythm.scss
structrdfal-0.1.4 _sass/_vertical-rhythm.scss
bedrock_sass-0.2.2 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
structrdfal-0.1.3 _sass/_vertical-rhythm.scss
structrdfal-0.1.2 _sass/_vertical-rhythm.scss
structrdfal-0.1.1 _sass/_vertical-rhythm.scss
structrdfal-0.1.0 _sass/_vertical-rhythm.scss
bedrock_sass-0.2.1 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
locomotivecms_wagon-2.4.1 generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
bedrock_sass-0.2.0 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
locomotivecms_wagon-2.4.0 generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
foundation-rails-6.4.3.0 vendor/assets/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
normalize-scss-7.0.1 sass/normalize/_vertical-rhythm.scss
bedrock_sass-0.1.9 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
bedrock_sass-0.1.8 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
bedrock_sass-0.1.7 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
bedrock_sass-0.1.6 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
bedrock_sass-0.1.5 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
bedrock_sass-0.1.4 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
bedrock_sass-0.1.3 assets/_vendor/foundation/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss