Sha256: 93fdd9b0ff86e5e1b25854e8b6efec151418f7b11e485d150af4432d8d8ef711

Contents?: true

Size: 1.29 KB

Versions: 6

Compression:

Stored size: 1.29 KB

Contents

@charset "UTF-8";

/// Provides a concise, one-line method for setting an element’s positioning
/// properties: `position`, `top`, `right`, `bottom` and `left`. Use a `null`
/// value to “skip” an edge of the box.
///
/// @argument {string} $position
///   A CSS position value.
///
/// @argument {list} $box-edge-values
///   List of lengths; accepts CSS shorthand.
///
/// @example scss
///   .element {
///     @include position(relative, 0 null null 10em);
///   }
///
///   // CSS Output
///   .element {
///     left: 10em;
///     position: relative;
///     top: 0;
///   }
///
/// @example scss
///   .element {
///     @include position(absolute, 0);
///   }
///
///   // CSS Output
///   .element {
///     position: absolute;
///     top: 0;
///     right: 0;
///     bottom: 0;
///     left: 0;
///   }
///
/// @require {function} _is-length
///
/// @require {function} _unpack-shorthand

@mixin position(
  $position,
  $box-edge-values
) {
  $box-edge-values: _unpack-shorthand($box-edge-values);
  $offsets: (
    top:    nth($box-edge-values, 1),
    right:  nth($box-edge-values, 2),
    bottom: nth($box-edge-values, 3),
    left:   nth($box-edge-values, 4),
  );

  position: $position;

  @each $offset, $value in $offsets {
    @if _is-length($value) {
      #{$offset}: $value;
    }
  }
}

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
bourbon-6.0.0 core/bourbon/library/_position.scss
bourbon-5.1.0 core/bourbon/library/_position.scss
bourbon-5.0.1 core/bourbon/library/_position.scss
bourbon-5.0.0 core/bourbon/library/_position.scss
dream-theme-0.1.0 _sass/bourbon/bourbon/library/_position.scss
bourbon-5.0.0.beta.8 core/bourbon/library/_position.scss