Πώς να δημιουργήσεις: Γκαλερί έργων με φιλτράρισμα

Μάθε πώς να δημιουργήσεις ένα γκαλερί έργων με φιλτράρισμα.

Η Συλλογή μου

Πατήστε το κουμπί για να φιλτράρεις μια κατηγορία:

Άνθη
Άνθη

Lorem ipsum dolor..

Αυγή
Φώτα

Lorem ipsum dolor..

Φύση
Δάσος

Lorem ipsum dolor..

Car
Κλασικό

Lorem ipsum dolor..

Car
Γρήγορα

Lorem ipsum dolor..

Car
Ρετρό

Lorem ipsum dolor..

Car
Γάλα

Lorem ipsum dolor..

Car
Γυναίκα

Lorem ipsum dolor..

Car
Άνδρας

Lorem ipsum dolor..

Δοκιμάστε προσωπικά

Πώς να δημιουργήσεις έναν ιστότοπο συλλογής έργων

Βήμα 1 - Προσθήκη HTML:

<h2>Περιβάλλον</h2>
<div id="myBtnContainer">
  <button class="btn active" onclick="filterSelection('all')"> Δείξε Όλα</button>
  <button class="btn" onclick="filterSelection('nature')"> Φύση</button>
  <button class="btn" onclick="filterSelection('cars')"> Καταστάσεις</button>
  <button class="btn" onclick="filterSelection('people')"> Λέγοντες</button>
</div>
<!-- 作品集画廊网格 -->
<div class="row">
  <div class="column nature">
    <div class="content">
      <img src="/w3images/mountains.jpg" alt="Mountains" style="width:100%">
      <h4>Άνδρος</h4>
      <p>Λέω ipsum dolor..</p>
    </div>
  </div>
  <div class="column nature">
    <div class="content">
      <img src="/w3images/lights.jpg" alt="Lights" style="width:100%">
      <h4>Φώτα</h4>
      <p>Λέω ipsum dolor..</p>
    </div>
  </div>
  <div class="column nature">
    <div class="content">
      <img src="/w3images/nature.jpg" alt="Nature" style="width:100%">
      <h4>Δάσος</h4>
      <p>Λέω ipsum dolor..</p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars1.jpg" alt="Car" style="width:100%">
      <h4>Ρετρό</h4>
      <p>Λέω ipsum dolor..</p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars2.jpg" alt="Car" style="width:100%">
      <h4>Γρήγορο</h4>
      <p>Λέω ipsum dolor..</p>
    </div>
  </div>
  <div class="column cars">
    <div class="content">
      <img src="/w3images/cars3.jpg" alt="Car" style="width:100%">
      <h4>Κλασικό</h4>
      <p>Λέω ipsum dolor..</p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people1.jpg" alt="People" style="width:100%">
      <h4>Παιδί</h4>
      <p>Λέω ipsum dolor..</p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people2.jpg" alt="People" style="width:100%">
      <h4>Άνδρας</h4>
      <p>Λέω ipsum dolor..</p>
    </div>
  </div>
  <div class="column people">
    <div class="content">
      <img src="/w3images/people3.jpg" alt="People" style="width:100%">
      <h4>Γυναίκα</h4>
      <p>Λέω 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;
}
/* Προσθήκη σκοτεινής χρώματος υποβάθρου για την ενεργή κουμπί */
.btn.active {
  background-color: #666;
   color: white;
}

Τρίτο βήμα - Προσθήκη JavaScript:

filterSelection("all") // Εκτέλεση της συνάρτησης και εμφάνιση όλων των στήλων
function filterSelection(c) {
  var x, i;
  x = document.getElementsByClassName("column");
  if (c == "all") c = "";
  // Προσθέτει την κλάση "show" (display:block) στους επιλεγμένους στοιχεία και αφαιρεί την κλάση "show" από τα μη επιλεγμένα στοιχεία
  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(" ");
}
// Προσθέστε την κλάση activity στο τρέχον κουμπί (επισημαίνει το)
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";
  });
}

Δοκιμάστε προσωπικά

Σελίδες σχετικές

Εκμάθηση:Πώς να δημιουργήσω: Συλλογή γκαλερί έργων