Я сделал простой пример для вас, как это можно сделать:
<head>
<style>
.content {
color: red;
}
.overlay {
z-index: 1;
width:100vw;
height: 100vh;
position: absolute;
top: 0;
left:0;
background-color:black;
opacity: 0.8;
}
.msg {
background-color: white;
width: 70px;
padding: 50px;
font-weight: bold;
text-align:center;
position: absolute;
top:40%;
left: 45%;
}
</style>
</head>
<body>
<p class="content">some content</p>
<div class=overlay>
<p class="msg">TEST</p>
</div>
</body>
</html>
показывает черное наложение на весь экран с сообщением "TEST", вы можете добавить больше элементов, таких как кнопки, к "overlay" -div, если вы хотите.
Но имейте в виду, чтобы использовать "position: absolute;" атрибут.
Вы можете показать или скрыть его, установив атрибут "display: none" (hide) css для параметра "overlay" -div или setting "display: revert;" показать это