Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách tạo thư viện hình ảnh dạng tab (tabbed image gallery) với CSS và JavaScript


Dưới đây là mã để tạo thư viện hình ảnh dạng tab (tabbed image gallery) bằng 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: relative; z-index: 1; padding-top: 100px; left: 0; top: 0; width: 100%; height: 60%; overflow: auto; } .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 { font-weight: bolder; position: absolute; right: 25%; color: #ffffff; font-size: 40px; 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>Ví dụ Thư viện Hình ảnh Modal</h1> <img class="ImgThumbnail" src="https://images.pexels.com/photos/3635300/pexels-photo-3635300.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"/> <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>

Kết quả

Mã trên sẽ cho ra kết quả như sau:

Cách tạo thư viện hình ảnh dạng tab (tabbed image gallery) với CSS và JavaScript