src/styles/mixins.scss
/**
https://medium.freecodecamp.org/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862
// usage
.my-box {
padding: 10px;
@include for-size(desktop-up) {
padding: 20px;
}
}
*/
@mixin for-size( $range ) {
$phone-upper-boundary: 600px;
$tablet-portrait-upper-boundary: 900px;
$tablet-landscape-upper-boundary: 1200px;
$desktop-upper-boundary: 1800px;
@if $range == phone-only {
@media (max-width: #{$phone-upper-boundary - 1}) { @content; }
}
@else if $range == tablet-portrait-up {
@media (min-width: $phone-upper-boundary) { @content; }
}
@else if $range == tablet-landscape-up {
@media (min-width: $tablet-portrait-upper-boundary) { @content; }
}
@else if $range == desktop-up {
@media (min-width: $tablet-landscape-upper-boundary) { @content; }
}
@else if $range == big-desktop-up {
@media (min-width: $desktop-upper-boundary) { @content; }
}
}