Запретить div, чтобы не перекрывать полосу прокрутки на родительском div

Контекст: я пытаюсь решить проблему, как упомянуто здесь: https://github.com/likeastore/ngDialog/issues/94

Проблема: Откройте plnkr: http://plnkr.co/edit/qKJiNwyivqJVCAtyhwYR?p=preview и попробуйте удерживать и перетаскивать полосу прокрутки с помощью мыши. Полоса прокрутки на родительском контейнере не может использоваться с мышью. Между прочим, происходит следующее: положение:fixed div.overlay перекрывается полосой прокрутки родительского контейнера.

HTML:

<div class="container">
  <div class="overlay"></div>
  <div class="content">
    <div>I'm large 1</div>
    <div>I'm large</div>
    <div>I'm large</div>
    <div>I'm large</div>
    <div>I'm large</div>
  </div>
</div>

CSS

.container{
    position: fixed;
    overflow: auto;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;  
    padding: 160px;
}

.container .overlay{
    position: fixed;
    background: rgba(0, 0, 0, 0.4);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.container .content{
    background: #f0f0f0;
    border-radius: 5px;
    max-width: 100%;
    position: relative;
}

1 ответ

Я думаю, что вы должны изменить HTML, чтобы быть

<div class="overlay"></div>
<div class="container">
  <div class="content">
  </div>
</div>
</div>

Не забудьте поменять css. http://plnkr.co/edit/QsQBk5oJfWuCymBwUtYB?p=preview

Другие вопросы по тегам