How to create: modal images
- Vorige pagina Diavoorstelling galerij
- Volgende pagina Lichtbox
Learn how to use CSS and JavaScript to create responsive modal images.
×
Modal image
A modal is a dialog or popup window displayed at the top of the current page.
This example uses most of the code from the previous example 'Modal Box', but in this example, we use an image.
Step 1 - Add HTML:
<!-- Trigger the modal box --> <img id="myImg" src="img_snow.jpg" alt="Snow" style="width:100%;max-width:300px"> <!-- 模态框 --> <div id="myModal" class="modal"> <!-- 关闭按钮 --> <span class="close">×</span> <!-- 模态内容(图片) --> <img class="modal-content" id="img01"> <!-- 模态标题(图片文本) --> <div id="caption"></div> </div>
第二步 - 添加 CSS:
/* 设置用于触发模态的图像的样式 */ #myImg { border-radius: 5px; cursor: pointer; transition: 0.3s; } #myImg:hover {opacity: 0.7;} /* The Modal (background) */ .modal { display: none; /* 默认是隐藏的 */ position: fixed; /* 留在原地 */ z-index: 1; /* 留在顶部 */ padding-top: 100px; /* 框的位置 */ left: 0; top: 0; width: 100%; /* 全宽 */ height: 100%; /* 全高 */ overflow: auto; /* 如果需要,启用滚动 */ background-color: rgb(0,0,0); /* 回退颜色 */ background-color: rgba(0,0,0,0.9); /* 黑色带透明度 */ } /* Modal Content (Image) */ .modal-content { margin: auto; display: block; width: 80%; max-width: 700px; } /* 模态图像的标题(图像文本)- 与图像相同的宽度 */ #caption { margin: auto; display: block; width: 80%; max-width: 700px; text-align: center; color: #ccc; padding: 10px 0; height: 150px; } /* 添加动画 - 在模态框中缩放 */ .modal-content, #caption { animation-name: zoom; animation-duration: 0.6s; } @keyframes zoom { from {transform:scale(0)} to {transform:scale(1)} } /* Sluitingsknop */ .close { position: absolute; top: 15px; right: 35px; color: #f1f1f1; font-size: 40px; font-weight: bold; transition: 0.3s; } .close:hover, .close:focus { color: #bbb; text-decoration: none; cursor: pointer; } /* De breedte van de afbeelding op kleine schermen is 100% */ @media only screen and (max-width: 700px){ .modal-content { width: 100%; } }
Derde stap - Voeg JavaScript toe:
// Haal de modale box op var modal = document.getElementById("myModal"); // Haal het beeld op en plaats het in de modale box - gebruik de "alt" tekst als titel var img = document.getElementById("myImg"); var modalImg = document.getElementById("img01"); var captionText = document.getElementById("caption"); img.onclick = function(){ modal.style.display = "block"; modalImg.src = this.src; captionText.innerHTML = this.alt; } // Haal het <span> element om de modale box te sluiten op var span = document.getElementsByClassName("close")[0]; // Wanneer de gebruiker op <span> (x) klikt, sluit de modale box span.onclick = function() { modal.style.display = "none"; }
Gerelateerde pagina's
Handleiding:Hoe een modaal venster te maken
Handleiding:Hoe een gallerij modaal venster te maken
- Vorige pagina Diavoorstelling galerij
- Volgende pagina Lichtbox