Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm thế nào để tạo một thư viện hình ảnh theo phương thức với CSS và JavaScript?


Sau đây là mã để tạo thư viện hình ảnh phương thức với CSS và JavaScript -

Ví dụ

<!DOCTYPE html>
<html>
<head<
<meta name="viewport" content="width=device-width, initial-scale=1" /<
<style>
* {
   box-sizing: border-box;
}
h1 {
   text-align: center;
}
.ImgThumbnail {
   border-radius: 5px;
   cursor: pointer;
   transition: 0.3s;
   height: 250px;
   width: 250px;
}
.ImgThumbnail:nth-of-type(1) {
   margin-left: 20%;
}
.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);
}
.modalImage {
   margin: auto;
   display: block;
   width: 50%;
   height: 60%;
   max-width: 700px;
}
#caption {
   margin: auto;
   display: block;
   width: 80%;
   max-width: 700px;
   text-align: center;
   color: #ccc;
   padding: 10px 0;
   height: 150px;
}
.close {
   position: absolute;
   top: 15px;
   right: 35px;
   color: #f1f1f1;
   font-size: 40px;
   font-weight: bold;
   transition: 0.3s;
}
.close:hover,
.close:focus {
   color: rgb(255, 0, 0);
   cursor: pointer;
}
@media only screen and (max-width: 700px) {
   .modalImage {
      width: 100%;
   }
}
</style>
</head>
<body>
<h1<Image Modal Gallery Example</h1<
<img class="ImgThumbnail" src="https://images.pexels.com/photos/3540375/pexels-photo-3540375.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940"/>
<img class="ImgThumbnail" src="https://i.picsum.photos/id/237/536/354.jpg"/>
<img class="ImgThumbnail" src="https://images.pexels.com/photos/3802510/pexels-photo-3802510.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"/>
<div class="modal">
<span class="close>×</span>
<img class="modalImage" id="img01" />
</div>
<script>
var modalEle = document.querySelector(".modal");
var modalImage = document.querySelector(".modalImage");
Array.from(document.querySelectorAll(".ImgThumbnail")).forEach(item => {
   item.addEventListener("click", event => {
      modalEle.style.display = "block";
      modalImage.src = event.target.src;
   });
});
document.querySelector(".close").addEventListener("click", () => {
   modalEle.style.display = "none";
});
</script>
</body>
</html>

Đầu ra

Đoạn mã trên sẽ tạo ra kết quả sau -

Làm thế nào để tạo một thư viện hình ảnh theo phương thức với CSS và JavaScript?

Khi nhấp vào bất kỳ hình ảnh nào -

Làm thế nào để tạo một thư viện hình ảnh theo phương thức với CSS và JavaScript?