如何创建:标签页式图片库

学习如何使用 CSS 和 JavaScript 创建标签页式图片库。

标签页式图片库

点击图像可展开:

వుహాన్
బీజింగ్
షెన్జెన్
హాంగ్ఝౌ
×

亲自试一试

创建标签页画廊

第一步 - 添加 HTML:

<!-- 网格:四列 -->
<div class="row">
  <div class="column">
    <img src="img_nature.jpg" alt="Nature" onclick="myFunction(this);">
  
<div class="column"> <img src="img_snow.jpg" alt="Snow" onclick="myFunction(this);">
<div class="column"> <img src="img_mountains.jpg" alt="Mountains" onclick="myFunction(this);"> <div class="column"> <img src="img_lights.jpg" alt="Lights" onclick="myFunction(this);"> <!-- 展开的图像容器 --> <div class="container"> <!-- 关闭图像 --> <span onclick="this.parentElement.style.display='none'" class="closebtn">×</span> <!-- 扩展图像 --> <img id="expandedImg" style="width:100%"> <!-- 图像文本 -->

使用图像来展开特定的图像。点击列中的图像后,将在列下方的容器中显示该图像。

第二步 - 添加 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;
}

మూడవ చర్య - జావాస్క్రిప్ట్ను జోడించండి:

function myFunction(imgs) {
  // విస్తరించిన చిత్రాన్ని పొందండి;
  var expandImg = document.getElementById("expandedImg");
  // చిత్ర పదబంధాన్ని పొందండి;
  var imgText = document.getElementById("imgtext");
  // విస్తరించిన చిత్రంలో ఉన్న స్రోత్ ను క్లిక్ చేసిన చిత్రంలో ఉన్న స్రోత్ తో సమానంగా చేయండి;
  expandImg.src = imgs.src;
  // క్లిక్ చేసిన చిత్రంలో ఉన్న అల్ట్ అట్రిబ్యూట్ యొక్క విలువను విస్తరించిన చిత్రంలో ఉన్న పదబంధంగా వాడండి;
  imgText.innerHTML = imgs.alt;
  // ప్రదర్శించు కంటైనర్ ఎలమెంట్ను (CSS ద్వారా మరియుకాల్పించు) ప్రదర్శించు;
  expandImg.parentElement.style.display = "block";
}

亲自试一试