Cara Membuat: Galeri Gambar Modal
- Halaman Sebelumnya Gambar Modal
- Halaman berikutnya Grid gambar yang responsif
Belajar cara membuat galeri gambar modal (boks lampu) dengan CSS dan JavaScript.
Boks lampu (galeri gambar modal)
Klik salah satu gambar untuk membuka boks lampu:




×
Buat boks lampu
Berikut adalah contohModalsdan}}Papan Gambar (Slideshows)Kode-kode di atas di gabungkan untuk membuat efek boket (lightbox).
Langkah pertama - Tambahkan HTML:
<!-- Gambar untuk membuka boket --> <div class="row"> <div class="column"> <img src="img1.jpg" onclick="openModal();currentSlide(1)" class="hover-shadow"> </div> <div class="column"> <img src="img2.jpg" onclick="openModal();currentSlide(2)" class="hover-shadow"> </div> <div class="column"> <img src="img3.jpg" onclick="openModal();currentSlide(3)" class="hover-shadow"> </div> <div class="column"> <img src="img4.jpg" onclick="openModal();currentSlide(4)" class="hover-shadow"> </div> </div> <!-- Boket/Box lampu --> <div id="myModal" class="modal"> <span class="close cursor" onclick="closeModal()">×</span> <div class="modal-content"> <div class="mySlides"> <div class="numbertext">1 / 4</div> <img src="img1_wide.jpg" style="width:100%"> </div> <div class="mySlides"> <div class="numbertext">2 / 4</div> <img src="img2_wide.jpg" style="width:100%"> </div> <div class="mySlides"> <div class="numbertext">3 / 4</div> <img src="img3_wide.jpg" style="width:100%"> </div> <div class="mySlides"> <div class="numbertext">4 / 4</div> <img src="img4_wide.jpg" style="width:100%"> </div> <!-- Berikutnya/Sebelumnya kontrol --> <a class="prev" onclick="plusSlides(-1)">❮</a> <a class="next" onclick="plusSlides(1)">❯</a> <!-- Tekst judul --> <div class="caption-container"> <p id="caption"></p> </div> <!-- Kontrol gambar miniatur --> <div class="column"> <img class="demo" src="img1.jpg" onclick="currentSlide(1)" alt=" Alam"> </div> <div class="column"> <img class="demo" src="img2.jpg" onclick="currentSlide(2)" alt="Salju"> </div> <div class="column"> <img class="demo" src="img3.jpg" onclick="currentSlide(3)" alt="Pegunungan"> </div> <div class="column"> <img class="demo" src="img4.jpg" onclick="currentSlide(4)" alt="Lampu"> </div> </div> </div>
Langkah kedua - Tambahkan CSS:
.row > .column { padding: 0 8px; } .row:after { content: ""; display: table; clear: both; } /* Buat empat kolom paralel yang sama */ .column { float: left; width: 25%; } /* Bok modal (latar belakang) */ .modal { tampil: tak terlihat; position: fixed; z-index: 1; padding-top: 100px; left: 0; tinggi: 0; width: 100%; height: 100%; overflow: auto; warna-latar: hitam; } /* Konten modal */ .modal-content { position: relative; background-color: #fefefe; margin: auto; padding: 0; width: 90%; max-width: 1200px; } /* Tombol tutup */ .close { warna: putih; posisi: absolut; top: 10px; right: 25px; font-size: 35px; berat-teks: bold; } .close:hover, .close:focus { warna: #999; teks-garis-bawah: tak ada; penuntun: pointer; } /* Sembunyikan slaid secara default */ .slaid-saya { tampil: tak terlihat; } /* Tombol 'berikutnya/sebelumnya' */ .sebelumnya, .berikutnya { penuntun: pointer; posisi: absolut; tinggi: 50%; lebar: otomatis; tinggi: 16px; tinggi-atas: -50px; warna: putih; berat-teks: bold; ukuran-font: 20px; transisi: 0.6 detik ease; bujur-keruk: 0 3px 3px 0; user-select: none; -webkit-user-select: none; } /* Letakkan tombol 'berikutnya' di sisi kanan */ .berikutnya { kanan: 0; bujur-keruk: 3px 0 0 3px; } /* Saat mouse diarahkan keatas, tambahkan latar belakang hitam dengan kecerahan ringan */ .sebelumnya:hover, .berikutnya:hover { warna-latar: rgba(0, 0, 0, 0.8); } /* Teks angka (1/3 dll) */ .teks-nomor { warna: #f2f2f2; ukuran-font: 12px; tinggi: 8px 12px; posisi: absolut; tinggi: 0; } /* Teks judul */ .kontainer-judul { teks-tengah: tengah; warna-latar: hitam; tinggi: 2px 16px; warna: putih; } img.demo { kecerahan: 0.6; } .aktif, .demo:hover { kecerahan: 1; } img.bayangan-hover { transisi: 0.3 detik; } .bayangan-hover:hover { bayangan: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); }
Tahap ketiga - Tambahkan JavaScript:
<script> // Buca jendela modal function bukaModal() { document.getElementById("myModal").style.display = "block"; } // Close Modal Box function closeModal() { document.getElementById("myModal").style.display = "none"; } var slideIndex = 1; showSlides(slideIndex); // Control Next/Previous function plusSlides(n) { showSlides(slideIndex += n); } // Control Image Thumbnail function currentSlide(n) { showSlides(slideIndex = n); } function showSlides(n) { var i; var slides = document.getElementsByClassName("mySlides"); var dots = document.getElementsByClassName("demo"); var captionText = document.getElementById("caption"); if (n > slides.length) {slideIndex = 1} if (n < 1) {slideIndex = slides.length} for (i = 0; i < slides.length; i++) { slides[i].style.display = "none"; } for (i = 0; i < dots.length; i++) { dots[i].className = dots[i].className.replace(" active", ""); } slides[slideIndex-1].style.display = "block"; dots[slideIndex-1].className += " active"; captionText.innerHTML = dots[slideIndex-1].alt; } </script>
Halaman Terkait
Tutorial:Bagaimana Membuat Modal
Tutorial:Bagaimana Membuat Presentasi
- Halaman Sebelumnya Gambar Modal
- Halaman berikutnya Grid gambar yang responsif