diff --git a/public/css/icinga/menu.less b/public/css/icinga/menu.less index 98650a237b..e9ed78808f 100644 --- a/public/css/icinga/menu.less +++ b/public/css/icinga/menu.less @@ -270,6 +270,12 @@ left: -.6em; z-index: -1; } + + &.bottom-up:after { + top: unset; + bottom: 1em; + } + > .nav-item { display: block; padding-left: 0; diff --git a/public/js/icinga/behavior/navigation.js b/public/js/icinga/behavior/navigation.js index df0e1e6d8c..31325a8e30 100644 --- a/public/js/icinga/behavior/navigation.js +++ b/public/js/icinga/behavior/navigation.js @@ -327,10 +327,13 @@ var rect = $flyout[0].getBoundingClientRect(); if (rect.y + rect.height > window.innerHeight) { + $flyout.addClass('bottom-up'); $flyout.css({ - bottom: 0, + bottom: window.innerHeight - ($target.offset().top + $target.find('> a')[0].offsetHeight), top: 'auto' }); + } else { + $flyout.removeClass('bottom-up'); } }, delay); };