如何创建:标签页式图片库
学习如何使用 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>
使用图像来展开特定的图像。点击列中的图像后,将在列下方的容器中显示该图像。
第二步 - 添加 CSS:
创建四列并设置图像样式:
/* 网格:四个并排的相等列 */ .column { float: left; width: 25%; padding: 10px; } /* 设置网格内图像的样式 */ .column img { opacity: 0.8; cursor: pointer; } .column img:hover { opacity: 1; } /* 清除列后的浮动 */ .row:after { content: ""; display: table; clear: both; } /* 展开的图像容器(需要定位来放置关闭按钮和文本) */ .container { position: relative; display: none; } /* 展开的图像文本 */ #imgtext { position: absolute; bottom: 15px; left: 15px; color: white; font-size: 20px; } /* 图像内的可关闭按钮 */ .closebtn { position: absolute; top: 10px; right: 15px; color: white; font-size: 35px; cursor: pointer; }
第三步 - 添加 JavaScript:
function myFunction(imgs) { // 获取展开后的图像 var expandImg = document.getElementById("expandedImg"); // 获取图片文字 var imgText = document.getElementById("imgtext"); // 在展开的图像中使用与从网格中点击的图像相同的 src expandImg.src = imgs.src; // 将可点击图像的 alt 属性的值用作展开图像内的文本 imgText.innerHTML = imgs.alt; // 显示容器元素(用 CSS 隐藏) expandImg.parentElement.style.display = "block"; }