From e182245d3205d929881f51da9b48d6c4ed97a682 Mon Sep 17 00:00:00 2001 From: HombreLaser Date: Thu, 8 Feb 2024 16:36:31 -0600 Subject: Commit inicial --- _sass/bourbon/addons/_position.scss | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 _sass/bourbon/addons/_position.scss (limited to '_sass/bourbon/addons/_position.scss') diff --git a/_sass/bourbon/addons/_position.scss b/_sass/bourbon/addons/_position.scss new file mode 100644 index 0000000..e460f3f --- /dev/null +++ b/_sass/bourbon/addons/_position.scss @@ -0,0 +1,48 @@ +@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; + } + } +} -- cgit v1.2.3