如何创建:带过滤功能的作品集画廊

学习如何创建带筛选功能的作品集画廊。

我的作品集

请点击按钮过滤某一类别:

Tsaunai
Tsaunai

Lorem ipsum dolor..

Rabu
Lights

Lorem ipsum dolor..

Kamfanin Kasa
Forest

Lorem ipsum dolor..

Kauyen
Classic

Lorem ipsum dolor..

Kauyen
Fast

Lorem ipsum dolor..

Kauyen
Retro

Lorem ipsum dolor..

Kauyen
Girl

Lorem ipsum dolor..

Kauyen
Woman

Lorem ipsum dolor..

Kauyen
Man

Lorem ipsum dolor..

جرب بنفسك

如何创建作品集网站

第一步 - 添加 HTML:

<h2>PORTFOLIO</h2>
<div id="myBtnContainer">
  <button class="btn active" onclick="filterSelection('all')"> Show all</button>
  <button class="btn" onclick="filterSelection('nature')"> Nature</button>
  <button class="btn" onclick="filterSelection('cars')"> Cars</button>
  <button class="btn" onclick="filterSelection('people')"> People</button>
</div>
<!-- 作品集画廊网格 -->
<div class="row">
  <div class="column nature">
    <div class="content">
      <img src="/w3images/mountains.jpg" alt="Mountains" style="width:100%">
      <h4>Mountains</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
  <div class="column nature">
    <div class="content">
      <img src="/w3images/lights.jpg" alt="Lights" style="width:100%">
      <h4>Lights</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
  <div class="column nature">
    <div class="content">
      <img src="/w3images/nature.jpg" alt="Nature" style="width:100%">
      <h4>Forest</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars1.jpg" alt="Car" style="width:100%">
      <h4>Retro</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars2.jpg" alt="Car" style="width:100%">
      <h4>Fast</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars3.jpg" alt="Car" style="width:100%">
      <h4>Classic</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people1.jpg" alt="People" style="width:100%">
      <h4>Girl</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people2.jpg" alt="People" style="width:100%">
      <h4>Man</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people3.jpg" alt="People" style="width:100%">
      <h4>Woman</h4>
      <p> Lorem ipsum dolor.. </p>
    </div>
  </div>
<!-- 结束网格 -->
</div>

第二步 - 添加 CSS:

* {
  box-sizing: border-box;
}
body {
  background-color: #f1f1f1;
  padding: 20px;
  font-family: Arial;
}
/* 居中网站 */
.main {
  max-width: 1000px;
  margin: auto;
}
h1 {
  font-size: 50px;
  word-break: break-all;
}
.row {
  margin: 8px -16px;
}
/* 在每列之间添加内边距(如果需要) */
.row,
.row > .column {
  padding: 8px;
}
/* 创建三个彼此相邻的等宽列 */
.column {
  float: left;
  width: 33.33%;
  display: none; /* 默认隐藏列 */
}
/* 清除行后的浮动 */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* 内容 */
.content {
  background-color: white;
  padding: 10px;
}
/* "show" 类被添加到被过滤的元素中 */
.show {
  display: block;
}
/* 设置按钮的样式 */
.btn {
  border: none;
  outline: none;
  padding: 12px 16px;
  background-color: white;
  cursor: pointer;
}
/* 鼠标悬停时添加灰色背景颜色 */
.btn:hover {
  background-color: #ddd;
}
/* ya yi ɗaukar ɗaukar 'show' ɗin zuwa tushen tushen ɗin ɗaukar ɗin */
.btn.active {
  background-color: #666;
   color: white;
}

kici na sadda - zaɗa JavaScript:

filterSelection("all") // ya gudanar da shirin kuma ya nuna sauran ɗaukaka
function filterSelection(c) {
  var x, i;
  x = document.getElementsByClassName("column");
  if (c == "all") c = "";
  // zaɗa 'show' ɗin (display:block) gaɗon zuwa abubuwa da a yi ƙiɗa, kuma ya yi ɗaukar 'show' ɗin daga abubuwan da a kara
  for (i = 0; i < x.length; i++) {
    w3RemoveClass(x[i], "show");
    if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show");
  }
}
// عرض العناصر الم经过ة الفلترة
function w3AddClass(element, name) {
  var i, arr1, arr2;
  arr1 = element.className.split(" ");
  arr2 = name.split(" ");
  for (i = 0; i < arr2.length; i++) {
    if (arr1.indexOf(arr2[i]) == -1) {
      element.className += " " + arr2[i];
    }
  }
}
// إخفاء العناصر غير المختارة
function w3RemoveClass(element, name) {
  var i, arr1, arr2;
  arr1 = element.className.split(" ");
  arr2 = name.split(" ");
  for (i = 0; i < arr2.length; i++) {
    while (arr1.indexOf(arr2[i]) > -1) {
      arr1.splice(arr1.indexOf(arr2[i]), 1);
    }
  }
  element.className = arr1.join(" ");
}
// إضافة فئة النشاط إلى الزر الحالي (تسليط الضوء عليه)
var btnContainer = document.getElementById("myBtnContainer");
var btns = btnContainer.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";
  });
}

جرب بنفسك

الصفحات المهمة

ماستا:Kuwa zai iya samu: Rang neizhi shi zuopinji tuangu