Если вы установите оверлей на position: fixed
и правильный z-index, он будет охватывать страницу по умолчанию.
Затем объявите прослушиватель щелчков на нем, чтобы либо установить его отображение на none, либо удалить его из DOM.
Просто не используйте его в качестве контейнера для реального содержимого
document.addEventListener('DOMContentLoaded', e => {
document.querySelector('#overlay').addEventListener('click', clickEvent => {
clickEvent.target.classList.add('invisible');
});
});
#overlay {
position: fixed;
display: block;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10000;
background-color: rgba(100, 100, 100, 0.5);
padding: 4em 10%;
text-align: center;
font-weight: bold;
}
#overlay.invisible {
display: none;
}