mirror of
https://github.com/moparisthebest/mail
synced 2024-08-13 16:43:47 -04:00
116 lines
2.7 KiB
SCSS
116 lines
2.7 KiB
SCSS
// Main Application Layout
|
|
|
|
.app {
|
|
$aside-width: 260px;
|
|
$aside-width-lg: 220px;
|
|
$header-height: 80px;
|
|
|
|
position: relative;
|
|
height: 100%;
|
|
|
|
// disable text selection
|
|
user-select: none;
|
|
|
|
&__aside {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
width: $aside-width;
|
|
background: $color-main;
|
|
color: $color-main-text;
|
|
|
|
@include respond-to(smaller-lg) {
|
|
transform: translateX(-100%);
|
|
}
|
|
@include respond-to(lg) {
|
|
width: $aside-width-lg;
|
|
background: $color-bg;
|
|
color: $color-text;
|
|
}
|
|
}
|
|
&__aside-scroll {
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
@include scrollbar(main);
|
|
|
|
// hide scrollbar in webkit
|
|
&::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
@include respond-to(lg) {
|
|
@include scrollbar(base);
|
|
}
|
|
}
|
|
&__container {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
|
|
@include respond-to(smaller-lg) {
|
|
&:after {
|
|
display: block;
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
background: rgba(0,0,0,0.2);
|
|
width: 100%;
|
|
height: 100%;
|
|
transform: translateX(110%); // translate offscreen
|
|
}
|
|
}
|
|
@include respond-to(lg) {
|
|
left: $aside-width-lg;
|
|
}
|
|
}
|
|
|
|
&__header {
|
|
display: none;
|
|
|
|
@include respond-to(lg) {
|
|
display: block;
|
|
height: $header-height;
|
|
}
|
|
}
|
|
&__main {
|
|
height: 100%;
|
|
transform: translateZ(0);
|
|
|
|
@include respond-to(lg) {
|
|
position: absolute;
|
|
bottom: 0;
|
|
width: 100%;
|
|
height: auto;
|
|
top: $header-height;
|
|
border-top: 1px solid $color-border-light;
|
|
border-left: 1px solid $color-border-light;
|
|
}
|
|
}
|
|
|
|
// Animation
|
|
@include respond-to(smaller-lg) {
|
|
will-change: transform;
|
|
transform-style: preserve-3d;
|
|
transition: transform 0.15s ease-out;
|
|
.app__container:after {
|
|
will-change: transform;
|
|
transform-style: preserve-3d;
|
|
}
|
|
}
|
|
|
|
// Modifier to open sidebar
|
|
&--show-aside {
|
|
@include respond-to(smaller-lg) {
|
|
transform: translateX($aside-width);
|
|
.app__container:after {
|
|
transform: none;
|
|
}
|
|
}
|
|
}
|
|
} |