Files
SCSS-Framework/mixins/queries/_media-queries.scss
T
2017-02-19 10:56:01 +01:00

91 lines
1.3 KiB
SCSS

/*
CONSTANTS
*/
$UPWARDS-OPEN: 2;
$DOWNWARDS-OPEN: 1;
$LIMITED: 0;
/*
Widths
*/
$phone-width: 480px;
$tablet-width: 768px;
$notebook-width: 980px;
$desktop-width: 1280px;
/*
Queries
*/
@mixin small-phone($direction:0) {
@include querybuilder(0, $phone-width, $direction) {
@content
}
}
@mixin phone($direction:0) {
@include querybuilder($phone-width, $tablet-width, $direction) {
@content
}
}
@mixin tablet($direction:0) {
@include querybuilder($tablet-width, $notebook-width, $direction) {
@content
}
}
@mixin notebook($direction:0) {
@include querybuilder($notebook-width, $desktop-width, $direction) {
@content
}
}
@mixin desktop($direction:0) {
@include querybuilder($desktop-width, 99999, $direction) {
@content
}
}
@mixin print {
@media print {
@content
}
}
/*
QUERY-BUILDER
*/
@mixin querybuilder($low-px, $high-px, $direction) {
@if $direction == $LIMITED {
@media (min-width: $low-px) and (max-width: $high-px - 1) {
@content
}
} @else if ($direction == $DOWNWARDS-OPEN) {
@media (max-width: $high-px - 1) {
@content
}
} @else if ($direction == $UPWARDS-OPEN) {
@media (min-width: $low-px) {
@content
}
} @else {
/*
* ERROR @ querybuilder mixin:
* No such direction!
*/
}
}