// Generate inline class names for your elements
//
//
//
//
//
// Padding
// ---------------
// pad-{item} : pad-small (padding: 10px)
// pad-vert-{item}-{item + 1} : pad-vert-small-large (padding: 10px 0 40px 0)
// pad-horz-{item}-{item + 1} : pad-horz-small-large (padding: 0 10px 0 40px)
//
// Margin
// ---------------
// inset-{item} : inset-small (margin: 10px)
// inset-vert-{item}-{item + 1} : inset-vert-small-large (margin: 10px 0 40px 0)
// inset-horz-{item}-{item + 1} : inset-horz-small-large (margin: 0 10px 0 40px)
//
// Offset margin
// ---------------
// offset-{item} : offset-small (margin: -10px)
// offset-vert-{item}-{item + 1} : offset-vert-small-large (margin: -10px 0 -40px 0)
// offset-horz-{item}-{item + 1} : offset-horz-small-large (margin: 0 -10px 0 -40px)
@mixin spacing-classes($base: 10px, $list: small normal medium large){
@for $i from 1 through length($list) {
.pad-#{nth(unquote($list), $i)} {
padding: ($base * $i);
}
.inset-#{nth(unquote($list), $i)} {
margin: ($base * $i);
}
.offset-#{nth(unquote($list), $i)} {
margin: (-($base * $i));
}
.pad-top-#{nth(unquote($list), $i)} {
padding-top: ($base * $i);
}
.pad-right-#{nth(unquote($list), $i)} {
padding-right: ($base * $i);
}
.pad-bottom-#{nth(unquote($list), $i)} {
padding-bottom: ($base * $i);
}
.pad-left-#{nth(unquote($list), $i)} {
padding-left: ($base * $i);
}
.inset-top-#{nth(unquote($list), $i)} {
margin-top: ($base * $i);
}
.inset-right-#{nth(unquote($list), $i)} {
margin-right: ($base * $i);
}
.inset-bottom-#{nth(unquote($list), $i)} {
margin-bottom: ($base * $i);
}
.inset-left-#{nth(unquote($list), $i)} {
margin-left: ($base * $i);
}
.outset-top-#{nth(unquote($list), $i)} {
margin-top: (-($base * $i));
}
.outset-right-#{nth(unquote($list), $i)} {
margin-right: (-($base * $i));
}
.outset-bottom-#{nth(unquote($list), $i)} {
margin-bottom: (-($base * $i));
}
.outset-left-#{nth(unquote($list), $i)} {
margin-left: (-($base * $i));
}
.inset-#{nth(unquote($list), $i)} {
margin: ($base * $i);
}
.offset-#{nth(unquote($list), $i)} {
margin: (-($base * $i));
}
.pad-vert-#{nth(unquote($list), $i)} {
padding-top: ($base * $i);
padding-bottom: ($base * $i);
}
.pad-horz-#{nth(unquote($list), $i)} {
padding-right: ($base * $i);
padding-left: ($base * $i);
}
.inset-vert-#{nth(unquote($list), $i)} {
margin-top: ($base * $i);
margin-bottom: ($base * $i);
}
.inset-horz-#{nth(unquote($list), $i)} {
margin-right: ($base * $i);
margin-left: ($base * $i);
}
.offset-vert-#{nth(unquote($list), $i)} {
margin-top: (-($base * $i));
margin-bottom: (-($base * $i));
}
.offset-horz-#{nth(unquote($list), $i)} {
margin-right: (-($base * $i));
margin-left: (-($base * $i));
}
@for $j from 1 through length($list) {
@if ($i != $j) {
.pad-vert-#{nth(unquote($list), $i)}-#{nth(unquote($list), ($j))} {
padding-top: ($base * $i);
padding-bottom: ($base * $j);
}
.pad-horz-#{nth(unquote($list), $i)}-#{nth(unquote($list), ($j))} {
padding-right: ($base * $i);
padding-left: ($base * $j);
}
.inset-vert-#{nth(unquote($list), $i)}-#{nth(unquote($list), ($j))} {
margin-top: ($base * $i);
margin-bottom: ($base * $j);
}
.inset-horz-#{nth(unquote($list), $i)}-#{nth(unquote($list), ($j))} {
margin-right: ($base * $i);
margin-left: ($base * $j);
}
.offset-vert-#{nth(unquote($list), $i)}-#{nth(unquote($list), ($j))} {
margin-top: (-($base * $i));
margin-bottom: (-($base * $j));
}
.offset-horz-#{nth(unquote($list), $i)}-#{nth(unquote($list), ($j))} {
margin-right: (-($base * $i));
margin-left: (-($base * $j));
}
}
}
}
}
// @include spacing-classes();
// @include spacing-classes($base: 5px);
// @include spacing-classes($base: 5px, $list: big bigger biggerer evenbiggerer biggest);
// @include spacing-classes($list: big bigger biggerer evenbiggerer biggest);