Skip to content

Instantly share code, notes, and snippets.

@BenjaminRCooper
Created March 23, 2015 09:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BenjaminRCooper/7ec1e1ea5db22e358e37 to your computer and use it in GitHub Desktop.
Save BenjaminRCooper/7ec1e1ea5db22e358e37 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
// ----
// Sass (v3.4.12)
// Compass (v1.0.3)
// ----
$border-types: (
"#E4E2E0-alpha": ('1', '2'),
"#CCC-bravo" : ('1')
);
@mixin generate-borders($viewport: null, $borders: $border-types) {
$_viewport: if($viewport, $viewport, null);
@each $color, $units in $borders {
@each $unit in $units {
$_unit: '#{$unit}x';
$_index: str-index($color, '-');
$_color: str-slice($color, 1, $_index - 1);
$_namespace: str-slice($color, $_index + 1, -1);
@if($_viewport) {
[data-#{$viewport}~="border--#{$namespace}__#{$_unit}-t"] {
border-style: solid;
border-color: #{$color};
border-width: #{$unit}px 0 0;
}
[data-#{$viewport}~="border--#{$namespace}__#{$_unit}-b"] {
border-style: solid;
border-color: #{$color};
border-width: 0 0 #{$unit}px;
}
[data-#{$viewport}~="border--#{$namespace}__#{$_unit}-l"] {
border-style: solid;
border-color: #{$color};
border-width: 0 0 0 #{$unit}px;
}
[data-#{$viewport}~="border--#{$namespace}__#{$_unit}-r"] {
border-style: solid;
border-color: #{$color};
border-width: 0 #{$unit}px 0 0;
}
[data-#{$viewport}~="border--#{$namespace}__#{$_unit}-e"] {
border-style: solid;
border-color: #{$color};
border-width: #{$unit}px 0;
}
[data-#{$viewport}~="border--#{$namespace}__#{$_unit}-s"] {
border-style: solid;
border-color: #{$color};
border-width: 0 #{$unit}px;
}
} @else {
[class~="border--#{$_namespace}__#{$_unit}-t"] {
border-style: solid;
border-color: #{$_color};
border-width: #{$unit}px 0 0;
}
[class~="border--#{$_namespace}__#{$_unit}-b"] {
border-style: solid;
border-color: #{$_color};
border-width: 0 0 #{$unit}px;
}
[class~="border--#{$_namespace}__#{$_unit}-l"] {
border-style: solid;
border-color: #{$_color};
border-width: 0 0 0 #{$unit}px;
}
[class~="border--#{$_namespace}__#{$_unit}-r"] {
border-style: solid;
border-color: #{$_color};
border-width: 0 #{$unit}px 0 0;
}
[class~="border--#{$_namespace}__#{$_unit}-e"] {
border-style: solid;
border-color: #{$_color};
border-width: #{$unit}px 0;
}
[class~="border--#{$_namespace}__#{$_unit}-s"] {
border-style: solid;
border-color: #{$_color};
border-width: 0 #{$_unit}px;
}
}
}
}
}
@include generate-borders();
[class~="border--alpha__1x-t"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 1px 0 0;
}
[class~="border--alpha__1x-b"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 0 0 1px;
}
[class~="border--alpha__1x-l"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 0 0 0 1px;
}
[class~="border--alpha__1x-r"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 0 1px 0 0;
}
[class~="border--alpha__1x-e"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 1px 0;
}
[class~="border--alpha__1x-s"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 0 1xpx;
}
[class~="border--alpha__2x-t"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 2px 0 0;
}
[class~="border--alpha__2x-b"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 0 0 2px;
}
[class~="border--alpha__2x-l"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 0 0 0 2px;
}
[class~="border--alpha__2x-r"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 0 2px 0 0;
}
[class~="border--alpha__2x-e"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 2px 0;
}
[class~="border--alpha__2x-s"] {
border-style: solid;
border-color: #E4E2E0;
border-width: 0 2xpx;
}
[class~="border--bravo__1x-t"] {
border-style: solid;
border-color: #CCC;
border-width: 1px 0 0;
}
[class~="border--bravo__1x-b"] {
border-style: solid;
border-color: #CCC;
border-width: 0 0 1px;
}
[class~="border--bravo__1x-l"] {
border-style: solid;
border-color: #CCC;
border-width: 0 0 0 1px;
}
[class~="border--bravo__1x-r"] {
border-style: solid;
border-color: #CCC;
border-width: 0 1px 0 0;
}
[class~="border--bravo__1x-e"] {
border-style: solid;
border-color: #CCC;
border-width: 1px 0;
}
[class~="border--bravo__1x-s"] {
border-style: solid;
border-color: #CCC;
border-width: 0 1xpx;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment