Belajar cara membuat Image Grid.
Section Artikel
Belajar cara membuat galeri gambar yang bervariasi antara empat, dua atau gambar lebar penuh dengan satu klik tombol.
Contoh:
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> * { box-sizing: border-box; } body { margin: 0; font-family: Arial, Helvetica, sans-serif; } .header { text-align: center; padding: 32px; } .row { display: -ms-flexbox; /* IE 10 */ display: flex; -ms-flex-wrap: wrap; /* IE 10 */ flex-wrap: wrap; padding: 0 4px; } .column { -ms-flex: 50%; /* IE 10 */ flex: 50%; padding: 0 4px; } .column img { margin-top: 8px; vertical-align: middle; } .btn { border: none; outline: none; padding: 10px 16px; background-color: #f1f1f1; cursor: pointer; font-size: 18px; } .btn:hover { background-color: #ddd; } .btn.active { background-color: #666; color: white; } </style> </head> <body> <!-- Header --> <div class="header" id="myHeader"> <h1>Image Grid</h1> <p>Click on the buttons to change the grid view.</p> <button class="btn" >var elements = document.getElementsByClassName("column"); var i; function one() { for (i = 0; i < elements.length; i++) { elements[i].style.msFlex = "100%"; // IE10 elements[i].style.flex = "100%"; } } function two() { for (i = 0; i < elements.length; i++) { elements[i].style.msFlex = "50%"; // IE10 elements[i].style.flex = "50%"; } } function four() { for (i = 0; i < elements.length; i++) { elements[i].style.msFlex = "25%"; // IE10 elements[i].style.flex = "25%"; } } var header = document.getElementById("myHeader"); var btns = header.getElementsByClassName("btn"); for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", function() { var current = document.getElementsByClassName("active"); current[0].className = current[0].className.replace(" active", ""); this.className += " active"; }); } </script> </body> </html>
Contoh:
<div class="row"> <div class="column"> <img src="wedding.jpg"> <img src="rocks.jpg"> <img src="falls2.jpg"> <img src="paris.jpg"> <img src="nature.jpg"> <img src="mist.jpg"> <img src="paris.jpg"> </div> <div class="column"> <img src="underwater.jpg"> <img src="ocean.jpg"> <img src="wedding.jpg"> <img src="mountainskies.jpg"> <img src="rocks.jpg"> <img src="underwater.jpg"> </div> <div class="column"> <img src="wedding.jpg"> <img src="rocks.jpg"> <img src="falls2.jpg"> <img src="paris.jpg"> <img src="nature.jpg"> <img src="mist.jpg"> <img src="paris.jpg"> </div> <div class="column"> <img src="underwater.jpg"> <img src="ocean.jpg"> <img src="wedding.jpg"> <img src="mountainskies.jpg"> <img src="rocks.jpg"> <img src="underwater.jpg"> </div> </div>
Gunakan CSS Flexbox untuk membuat layout
Contoh:
.row { display: flex; flex-wrap: wrap; padding: 0 4px; } /* Create two equal columns that sits next to each other */.column { flex: 50%; padding: 0 4px; } .column img { margin-top: 8px; vertical-align: middle; }
Buat Tampilan Grid Controllable Menggunakan JavaScript
Contoh:
<button >