запретить прокрутку фонового окна вверх при появлении другого окна в angular 7/8

#javascript #css #angular #angular7 #angular8

#javascript #css #angular #angular7 #angular8

Вопрос:

итак, у меня есть всплывающее окно, которое открывается в середине страницы, когда я нажимаю на тег, однако фоновое окно всегда прокручивается до самого верха при отображении всплывающего окна. Я хочу, чтобы фоновая страница не прокручивалась до конца и просто оставалась там, где она есть. Ниже приведен код

HTML

 <div class="notSU">
  <a (click)="open()">open popup window</a>
</div>
  

javascript (файл ts)

 open(){
 const window: WindowRef = this.windowService.open({
          title: 'My Window',
          content: 'My Content!',
          width: 450,
          height: 200
      });

      window.result.subscribe((result) => {
          if (result instanceof WindowCloseResult) {
              console.log('Window was closed!');
          }
      });
}
  

CSS

 .notSU{
   overflow:hidden !important;
}
  

Ответ №1:

Если код вашего модального окна расположен в верхней части страницы, а позиция установлена в относительное или абсолютное значение, возможно, именно поэтому он прокручивается до верха. Попробуйте указать .notSU эти настройки CSS ниже. position: fixed; позиционирует элемент относительно окна браузера по сравнению с родительским, в котором он может быть размещен.

 .notSU {
  position: fixed;
  z-index: 400;
  left: 50%;
  top: 50%;
  transform: translate(-50% -50%);
  max-width: 450px;
  max-height: 200px;
  width: 100%;
  height: 100%;
}