To jest tzw. modal box.
Przykład
<body>
<div class="content">
<p>Lorem ipsum</p>
<div>Lorem2 ipsum</div>
<input value="Lorem">
<button id="open-alert-box">Otwórz alert</div>
</div>
<!-- może być na końcu kodu html -->
<div class="modal-container">
<div class="box">
<div class="title-bar">
<span class="title">Tytuł Lorem</span>
<span class="close" title="Zamknij">×</span>
</div>
<div class="content">
<!-- Twoja treść, inne div-y, span-y, img-e itp. -->
<img src="https://forum.pasja-informatyki.pl/?qa=image&qa_blobid=14836961186631435352&qa_size=40" title="img lorem">
<p>p Lorem w modal box</p>
<div>div Lorem w modal box</div>
</div>
</div>
</div>
<script>
//...
</script>
</body>
input, button {
display: block;
margin: 2em 0;
user-select: none;
}
.modal-container {
display: none;
position: absolute;
justify-content: center;
align-items: center;
width: 100vw;
top: 0;
left: 0;
bottom: 0; /* height: 100% */
z-index: 99; /* dla pewności wysoki numer */
/* kolor tła pod modalem i jego przeźroczystość od 0.0 do 1.0 */
/* background-color: rgba(100,100,100,0.8); */
background-image: radial-gradient(circle, rgba(0,0,0,0.9), rgba(100,100,100,0.6));
}
.modal-container .box {
width: 350px;
height: 250px;
background-color: black;
overflow: hidden;
border: 1px solid white;
box-shadow: 0 0 10px white;
}
.modal-container .title-bar {
background-color: white;
width: 100%;
height: 30px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.modal-container .title-bar .title {
font-size: 1em;
color: blue;
padding-left: 1em;
}
.modal-container .title-bar .close {
font-size: 1.4em;
font-weight: bold;
cursor: pointer;
color: red;
padding-right: 1em;
user-select: none;
}
.modal-container .title-bar .close:active {
transform: translatey(1px); /* efekt klik na span ;-) */
}
.modal-container .content {
margin: 0;
height: 100%;
background-image: linear-gradient(black 80%, white);
}
.modal-container .content img {
border: 2px solid white;
border-radius: 50%;
width: 30px;
height: 30px;
padding: 1em;
margin: 1em;
}
.modal-container .content p {
color: limegreen;
}
.modal-container .content div {
color: pink;
}
const button = document.querySelector('#open-alert-box');
button.addEventListener('click', () => {
const modal_box = document.querySelector('.modal-container');
modal_box.style.display = 'flex';
});
const modal_button_close = document.querySelector('.modal-container .close');
modal_button_close.addEventListener('click', () => {
const modal_box = document.querySelector('.modal-container');
modal_box.style.display = 'none';
});
[ HTML Symbols, Entities and ASCII Character Codes ]