Skip to content

Instantly share code, notes, and snippets.

@jnschrag
Created April 24, 2019 13:59
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 jnschrag/39ccf5b7b2e6f7a22699b460e52e664a to your computer and use it in GitHub Desktop.
Save jnschrag/39ccf5b7b2e6f7a22699b460e52e664a to your computer and use it in GitHub Desktop.
SASS Media Query Mixin
// Breakpoints
// $break: Breakpoint to use
// $dir: 'min-width' or 'max-width'
// $until: Maximum width
// @include breakpoint('medium');
// @include breakpoint($break: 'medium', $until: 'large');
// @include breakpoint($break: 'medium', $dir: 'max-width');
@mixin breakpoint($break, $dir: 'min-width', $until: null, $breakpoints-map: $breakpoints) {
@if not map-has-key($breakpoints-map, $break) {
$break: $break;
} @else {
$break: map-get($breakpoints-map, $break);
}
@if $break and $until {
@if not map-has-key($breakpoints-map, $until) {
$until: $until;
} @else {
$until: map-get($breakpoints-map, $until);
}
@media screen and (min-width: $break) and (max-width: $until) {
@content;
}
} @else {
@media screen and ($dir: $break) {
@content;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment