CSS3 图片模态化
这是一个演示 CSS 和 JavaScript 如何协同工作的例子。
首先,请使用 CSS 创建模态窗口(对话框),并默认将其隐藏。
然后,当用户单击图片时,使用 JavaScript 显示模态窗口并在模态内部显示图片:

×![]()
代码如下:
<!DOCTYPE html><html><head><style>#myImg {border-radius: 5px;cursor: pointer;transition: 0.3s;}#myImg:hover {opacity: 0.7;}/* The Modal (background) */.modal {display: none; /* Hidden by default */position: fixed; /* Stay in place */z-index: 1; /* Sit on top */padding-top: 100px; /* Location of the box */left: 0;top: 0;width: 100%; /* Full width */height: 100%; /* Full height */overflow: auto; /* Enable scroll if needed */background-color: rgb(0,0,0); /* Fallback color */background-color: rgba(0,0,0,0.9); /* Black w/ opacity */}/* Modal Content (image) */.modal-content {margin: auto;display: block;width: 80%;max-width: 700px;}/* Caption of Modal Image */#caption {margin: auto;display: block;width: 80%;max-width: 700px;text-align: center;color: #ccc;padding: 10px 0;height: 150px;}/* Add Animation */.modal-content, #caption {animation-name: zoom;animation-duration: 0.6s;}@keyframes zoom {from {transform: scale(0.1)}to {transform: scale(1)}}/* The Close Button */.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;}/* 100% Image Width on Smaller Screens */@media only screen and (max-width: 700px){.modal-content {width: 100%;}}</style></head><body><h2>Image Modal</h2><p>在本例中,我们使用CSS创建一个默认隐藏的模式(对话框)</p><p>我们使用JavaScript触发模态,并在单击模态时显示模态中的当前图像。还要注意的是,我们使用图像的“alt”属性中的值作为模态中的图像标题文本</p><p>如果您不马上理解代码,请不要担心。使用完CSS后,请转到我们的JavaScript教程了解更多信息</p><img id="myImg" src="/znadmin/md/1299/0.jpg" alt="Northern Lights, Norway" width="300" height="200"><!-- The Modal --><div id="myModal" class="modal"><span class="close">×</span><img class="modal-content" id="img01"><div id="caption"></div></div><script>// Get the modalvar modal = document.getElementById('myModal');// Get the image and insert it inside the modal - use its "alt" text as a captionvar 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;}// Get the <span> element that closes the modalvar span = document.getElementsByClassName("close")[0];// When the user clicks on <span> (x), close the modalspan.onclick = function() {modal.style.display = "none";}</script></body></html>