Skip to content

Instantly share code, notes, and snippets.

@kristoferjoseph
Last active August 29, 2015 14:15
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 kristoferjoseph/106ad70d4eb6318849c1 to your computer and use it in GitHub Desktop.
Save kristoferjoseph/106ad70d4eb6318849c1 to your computer and use it in GitHub Desktop.
Mixins for generating a grid
$viewport-xs: 30em;
$viewport-sm: 40em;
$viewport-md: 60em;
$viewport-lg: 75em;
$xs: 'xs';
$sm: 'sm';
$md: 'md';
$lg: 'lg';
$modifier-delimiter: '-';
$step-delimiter: '-';
$sizes: #{$xs}, #{$sm}, #{$md}, #{$lg};
$queries: #{$viewport-xs}, #{$viewport-sm}, #{$viewport-md}, #{$viewport-lg};
@mixin queries($queries: $queries) {
@each $query in $queries {
@media screen and (min-width: #{$query}) {
@content
}
}
}
@mixin breakpoints($selector, $columns: 0, $queries: $queries) {
@each $size in $sizes {
@if ($columns > 0 ) {
@for $i from 1 through $columns {
#{$selector}#{$modifier-delimiter}#{$size}#{$step-delimiter}#{$i} {
@include queries($queries) {
@content
}
}
}
} @else {
#{$selector}#{$modifier-delimiter}#{$size} {
@include queries($queries) {
@content
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment