如何创建:标签页式图片库
学习如何使用 CSS 和 JavaScript 创建标签页式图片库。
标签页式图片库
点击图像可展开:




×
创建标签页画廊
第一步 - 添加 HTML:
<!-- 网格:四列 --> <div class="row"> <div class="column"> <img src="img_nature.jpg" alt="Nature" onclick="myFunction(this);"> </div> <div class="column"> <img src="img_snow.jpg" alt="Snow" onclick="myFunction(this);"> </div> <div class="column"> <img src="img_mountains.jpg" alt="Mountains" onclick="myFunction(this);"> </div> <div class="column"> <img src="img_lights.jpg" alt="Lights" onclick="myFunction(this);"> </div> </div> <!-- 展开的图像容器 --> <div class="container"> <!-- 关闭图像 --> <span onclick="this.parentElement.style.display='none'" class="closebtn">×</span> <!-- 扩展图像 --> <img id="expandedImg" style="width:100%"> <!-- 图像文本 --> <div id="imgtext"></div> </div>
Gamitin ang imahen upang buksan ang partikular na imahen. Pagklik sa imahen sa kolumna, ang imahen na iyon ay lalapat sa konteyner sa ilalim ng kolumna.
Ikalawang hakbang - Magdagdag ng CSS:
Lumikha ng apat na kolumna at itatalaga ang estilo ng imahen:
/* Grid: apat na magkaparehong kolumna na nakapareho */ .column { float: left; width: 25%; padding: 10px; } /* Itinalaga ang estilo ng imahen sa loob ng grid */ .column img { opacity: 0.8; cursor: pointer; } .column img:hover { opacity: 1; } /* Itanggal ang paglilipat sa kabilang panig ng column */ .row:after { content: ""; display: table; clear: both; } /* Konteyner ng lumilipat na imahen (kailangan ng positining upang ilagay ang pagsasara at teksto) */ .container { position: relative; display: none; } /* Teksto ng lumilipat na imahen */ #imgtext { position: absolute; bottom: 15px; left: 15px; color: white; font-size: 20px; } /* Botong puwang sa loob ng imahen na puwang na maaaring itapon */ .closebtn { position: absolute; top: 10px; right: 15px; color: white; font-size: 35px; cursor: pointer; }
Ikatlong hakbang - Magdagdag ng JavaScript:
function myFunction(imgs) { // Hanapin ang lumilipat na imahen var expandImg = document.getElementById("expandedImg"); // Hanapin ang teksto ng imahen var imgText = document.getElementById("imgtext"); // Ginamit ang src na pareho sa lumilipat na imahen na ginamit sa pagklik mula sa grid expandImg.src = imgs.src; // Ginamit ang halaga ng attribute na alt ng klikable na imaheng bilang teksto sa loob ng lumilipat na imahen imgText.innerHTML = imgs.alt; // Magpakita ang elementong konteyner (ginamit ang CSS upang itago) expandImg.parentElement.style.display = "block"; }