Skip to content

Instantly share code, notes, and snippets.

@napotopia
Created October 7, 2013 19:46
Show Gist options
  • Save napotopia/6873784 to your computer and use it in GitHub Desktop.
Save napotopia/6873784 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
// ----
// Sass (v3.2.10)
// Compass (v0.13.alpha.4)
// ----
// Namespacing
$uiNameSpace: "ui";
// Base Margin / Padding
$baseMP:1em;
$baseMPDouble: $baseMP * 2;
$baseMPHalf: $baseMP / 2;
// Margin and Padding Positions
$positions:n,base,t,r,b,l,tb,rl,db,db-t,db-r,db-b,db-l,db-tb,db-rl,h,h-t,h-r,h-b,h-l,h-tb,h-rl;
@mixin margin($mp, $t:null, $r:null, $b:null, $l:null) {
margin: $mp;
margin-top: $t;
margin-right: $r;
margin-bottom: $b;
margin-left: $l;
}
@mixin padding($mp, $t:null, $r:null, $b:null, $l:null) {
padding: $mp;
padding-top: $t;
padding-right: $r;
padding-bottom: $b;
padding-left: $l;
}
@mixin _margin-padding($type, $mp, $t, $r, $b, $l) {
@if $type == "m" { @include margin($mp, $t, $r, $b, $l) }
@if $type == "p" { @include padding($mp, $t, $r, $b, $l) }
}
@mixin _ui-margin-padding($type, $positions) {
$n: null; $mp: $n; $t: $n; $r: $n; $b: $n; $l: $n;
@each $pos in $positions {
@if $pos == base { $mp: $baseMP; }
@if $pos == n { $mp:0; }
@if $pos == t { $mp: $n; $t: $baseMP; $r: $n; $b: $n; $l: $n; }
@if $pos == r { $mp: $n; $t: $n; $r: $baseMP; $b: $n; $l: $n; }
@if $pos == b { $mp: $n; $t: $n; $r: $n; $b: $baseMP; $l: $n; }
@if $pos == l { $mp: $n; $t: $n; $r: $n; $b: $n; $l: $baseMP; }
@if $pos == tb { $mp: $n; $t: $baseMP; $r: $n; $b: $baseMP; $l: $n; }
@if $pos == rl { $mp: $n; $t: $n; $r: $baseMP; $b: $n; $l: $baseMP; }
@if $pos == db { $mp: $baseMPDouble; $t: $n; $r: $n; $b: $n; $l: $n; }
@if $pos == db-t { $mp: $n; $t: $baseMPDouble; $r: $n; $b: $n; $l: $n; }
@if $pos == db-r { $mp: $n; $t: $n; $r: $baseMPDouble; $b: $n; $l: $n; }
@if $pos == db-b { $mp: $n; $t: $n; $r: $n; $b: $baseMPDouble; $l: $n; }
@if $pos == db-l { $mp: $n; $t: $n; $r: $n; $b: $n; $l: $baseMPDouble; }
@if $pos == db-tb { $mp: $n; $t: $baseMPDouble; $r: $n; $b: $baseMPDouble; $l: $n; }
@if $pos == db-rl { $mp: $n; $t: $n; $r: $baseMPDouble; $b: $n; $l: $baseMPDouble; }
@if $pos == h { $mp: $baseMPHalf; $t: $n; $r: $n; $b: $n; $l: $n; }
@if $pos == h-t { $mp: $n; $t: $baseMPHalf; $r: $n; $b: $n; $l: $n; }
@if $pos == h-r { $mp: $n; $t: $n; $r: $baseMPHalf; $b: $n; $l: $n; }
@if $pos == h-b { $mp: $n; $t: $n; $r: $n; $b: $baseMPHalf; $l: $n; }
@if $pos == h-l { $mp: $n; $t: $n; $r: $n; $b: $n; $l: $baseMPHalf; }
@if $pos == h-tb { $mp: $n; $t: $baseMPHalf; $r: $n; $b: $baseMPHalf; $l: $n; }
@if $pos == h-rl { $mp: $n; $t: $n; $r: $baseMPHalf; $b: $n; $l: $baseMPHalf; }
@if $pos == base {
.#{$uiNameSpace}-#{$type} {
@include _margin-padding($type, $mp, $t, $r, $b, $l);
}
}
@else {
.#{$uiNameSpace}-#{$type}-#{$pos} {
@include _margin-padding($type, $mp, $t, $r, $b, $l);
}
}
}
}
@include _ui-margin-padding("m", $positions);
@include _ui-margin-padding("p", $positions);
.ui-m-n {
margin: 0;
}
.ui-m {
margin: 1em;
}
.ui-m-t {
margin-top: 1em;
}
.ui-m-r {
margin-right: 1em;
}
.ui-m-b {
margin-bottom: 1em;
}
.ui-m-l {
margin-left: 1em;
}
.ui-m-tb {
margin-top: 1em;
margin-bottom: 1em;
}
.ui-m-rl {
margin-right: 1em;
margin-left: 1em;
}
.ui-m-db {
margin: 2em;
}
.ui-m-db-t {
margin-top: 2em;
}
.ui-m-db-r {
margin-right: 2em;
}
.ui-m-db-b {
margin-bottom: 2em;
}
.ui-m-db-l {
margin-left: 2em;
}
.ui-m-db-tb {
margin-top: 2em;
margin-bottom: 2em;
}
.ui-m-db-rl {
margin-right: 2em;
margin-left: 2em;
}
.ui-m-h {
margin: 0.5em;
}
.ui-m-h-t {
margin-top: 0.5em;
}
.ui-m-h-r {
margin-right: 0.5em;
}
.ui-m-h-b {
margin-bottom: 0.5em;
}
.ui-m-h-l {
margin-left: 0.5em;
}
.ui-m-h-tb {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.ui-m-h-rl {
margin-right: 0.5em;
margin-left: 0.5em;
}
.ui-p-n {
padding: 0;
}
.ui-p {
padding: 1em;
}
.ui-p-t {
padding-top: 1em;
}
.ui-p-r {
padding-right: 1em;
}
.ui-p-b {
padding-bottom: 1em;
}
.ui-p-l {
padding-left: 1em;
}
.ui-p-tb {
padding-top: 1em;
padding-bottom: 1em;
}
.ui-p-rl {
padding-right: 1em;
padding-left: 1em;
}
.ui-p-db {
padding: 2em;
}
.ui-p-db-t {
padding-top: 2em;
}
.ui-p-db-r {
padding-right: 2em;
}
.ui-p-db-b {
padding-bottom: 2em;
}
.ui-p-db-l {
padding-left: 2em;
}
.ui-p-db-tb {
padding-top: 2em;
padding-bottom: 2em;
}
.ui-p-db-rl {
padding-right: 2em;
padding-left: 2em;
}
.ui-p-h {
padding: 0.5em;
}
.ui-p-h-t {
padding-top: 0.5em;
}
.ui-p-h-r {
padding-right: 0.5em;
}
.ui-p-h-b {
padding-bottom: 0.5em;
}
.ui-p-h-l {
padding-left: 0.5em;
}
.ui-p-h-tb {
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.ui-p-h-rl {
padding-right: 0.5em;
padding-left: 0.5em;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment