// Padding Syntax // ============== // Prefix // ------ // Add spanning-padding before an element. // - $span : @mixin prefix( $span ) { $inspect : $span; $span : map-merge((spread: wide), parse-span($span)); $flow : susy-get(flow, $span); $width : span($span); @if is-inside($span) { $gutter: gutter($span); $width: if($gutter and comparable($width, $gutter), $width + $gutter, $width); } @include susy-inspect(prefix, $inspect); @include padding-output($width, null, $flow); } // Suffix // ------ // Add spanning-padding after an element. // - $span : @mixin suffix( $span ) { $inspect : $span; $span : map-merge((spread: wide), parse-span($span)); $flow : susy-get(flow, $span); $width : span($span); @if is-inside($span) { $gutter: gutter($span); $width: if($gutter and comparable($width, $gutter), $width + $gutter, $width); } @include susy-inspect(suffix, $inspect); @include padding-output(null, $width, $flow); } // Pad // --- // Add spanning-padding before and after an element. // - $pre : // - [$post] : @mixin pad( $pre, $post: false ) { $inspect : $pre, $post; $pre : map-merge((spread: wide), parse-span($pre)); @if $post { $post: map-merge((spread: wide), parse-span($post)); } @else { $span: susy-get(span, $pre); @if length($span) > 1 { $pre: map-merge($pre, (span: nth($span, 1))); $post: map-merge($pre, (span: nth($span, 2))); } @else { $post: $pre; } } @include susy-inspect(pad, $inspect...); @include prefix($pre); @include suffix($post); }