Skip to content

Instantly share code, notes, and snippets.

@alecperkins
Created March 19, 2014 03:16
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 alecperkins/9634856 to your computer and use it in GitHub Desktop.
Save alecperkins/9634856 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
<div class="Bar">Bar</div>
<div class="Baz">Baz</div>
<div class="Qux">
Qux
<div class="Qux_Sub">Qux_Sub</div>
</div>
// ----
// Sass (v3.3.3)
// Compass (v1.0.0.alpha.18)
// ----
=extend-variants($module_name, $variants...)
@each $variant in $variants
@if type_of($variant) == "list"
$variant: #{nth($variant, 1)}--#{nth($variant, 2)}
@extend %#{$module_name}-#{$variant}
=extend($module_name, $variants...)
@extend %#{$module_name}
+extend-variants($module_name, $variants...)
=Bat($sel, $vars...)
.#{ $sel }
color: red
@if index($vars, foo)
color: blue
=Bat_Sub($sel, $vars...)
.#{ nth($sel,1) }_#{ nth($sel,2) }
border: 1px solid red
@if index($vars, foo)
border-color: yellow
.#{ nth($sel,1) }.-foo .#{ nth($sel,1) }_#{ nth($sel,2) }
border-color: green
%Component
font:
size: 20px
family: Helvetica
&_SubComponent
border: 1px solid black
&-foo
color: red
&-foo &_SubComponent
border-color: red
.Bar
+extend(Component)
.Baz
+extend(Component, foo)
.Qux
+extend(Component)
&.-bar
+extend-variants(Component, foo)
.Qux_Sub
+extend(Component_SubComponent)
+Bat(Zonk)
+Bat(Zorp, foo)
+Bat_Sub(Zorp C)
// can't remap variants
.Bar, .Baz, .Qux {
font-size: 20px;
font-family: Helvetica;
}
.Qux_Sub {
border: 1px solid black;
}
.Baz, .Qux.-bar {
color: red;
}
.Baz .Qux_Sub, .Qux.-bar .Qux_Sub {
border-color: red;
}
.Zonk {
color: red;
}
.Zorp {
color: red;
color: blue;
}
.Zorp_C {
border: 1px solid red;
}
.Zorp.-foo .Zorp_C {
border-color: green;
}
<div class="Bar">Bar</div>
<div class="Baz">Baz</div>
<div class="Qux">
Qux
<div class="Qux_Sub">Qux_Sub</div>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment