如何创建:标签页式图片库
学习如何使用 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";
}