@charset "UTF-8"; /// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side. /// /// @param {Position} $position [relative] /// A CSS position value /// /// @param {Arglist} $coordinates [null null null null] /// List of values that correspond to the 4-value syntax for the edges of a box /// /// @example scss - Usage /// .element { /// @include position(absolute, 0 null null 10em); /// } /// /// @example css - CSS Output /// .element { /// left: 10em; /// position: absolute; /// top: 0; /// } /// /// @require {function} is-length /// @require {function} unpack @mixin position($position: relative, $coordinates: null null null null) { @if type-of($position) == list { $coordinates: $position; $position: relative; } $coordinates: unpack($coordinates); $offsets: ( top: nth($coordinates, 1), right: nth($coordinates, 2), bottom: nth($coordinates, 3), left: nth($coordinates, 4) ); position: $position; @each $offset, $value in $offsets { @if is-length($value) { #{$offset}: $value; } } }