@import "../../themes/ionic.globals"; // Menu // -------------------------------------------------- /// @prop - Width of the menu $menu-width: 304px !default; /// @prop - Width of the menu on small devices (under 340px) $menu-small-width: $menu-width - 40px !default; ion-menu { @include position(0, 0, 0, 0); position: absolute; display: none; contain: strict; } ion-menu.show-menu { display: block; } .menu-inner { @include position(0, auto, 0, 0); @include transform(translate3d(-9999px, 0, 0)); position: absolute; display: block; width: $menu-width; height: 100%; contain: strict; } .menu-inner > ion-header, .menu-inner > ion-content, .menu-inner > ion-footer { position: absolute; } ion-menu[side=left] > .menu-inner { @include multi-dir() { // scss-lint:disable PropertySpelling right: auto; left: 0; } } ion-menu[side=right] > .menu-inner { @include multi-dir() { // scss-lint:disable PropertySpelling right: 0; left: auto; } } ion-menu[side=end] > .menu-inner { @include position-horizontal(auto, 0); } ion-menu ion-backdrop { z-index: -1; display: none; opacity: .01; } .menu-content { @include transform(translate3d(0, 0, 0)); } .menu-content-open { cursor: pointer; touch-action: manipulation; } .menu-content-open ion-pane, .menu-content-open ion-content, .menu-content-open .toolbar { // the containing element itself should be clickable but // everything inside of it should not clickable when menu is open pointer-events: none; } @media (max-width: 340px) { .menu-inner { width: $menu-small-width; } } // Menu Reveal // -------------------------------------------------- // The content slides over to reveal the menu underneath. // The menu itself, which is under the content, does not move. ion-menu[type=reveal] { z-index: 0; } ion-menu[type=reveal].show-menu .menu-inner { @include transform(translate3d(0, 0, 0)); } // Menu Overlay // -------------------------------------------------- // The menu slides over the content. The content // itself, which is under the menu, does not move. ion-menu[type=overlay] { z-index: $z-index-menu-overlay; } ion-menu[type=overlay] .show-backdrop { display: block; }