Nasıl oluşturulur: Filtreleme özelliği olan çalışma koleksiyonu galerisi

Filtreleme özelliği olan çalışma koleksiyonu galerisini nasıl oluşturursunuz öğrenin.

Çalışma koleksiyonum

Bir kategoriyi filtrelemek için butona tıklayın:

Dağlar
Dağlar

Lorem ipsum dolor..

Aurora
Işık

Lorem ipsum dolor..

Doğa
Orman

Lorem ipsum dolor..

Araba
Klasik

Lorem ipsum dolor..

Araba
Hızlı

Lorem ipsum dolor..

Araba
Retro

Lorem ipsum dolor..

Araba
Kız

Lorem ipsum dolor..

Araba
Kadın

Lorem ipsum dolor..

Araba
Adam

Lorem ipsum dolor..

Kişisel olarak deneyin

Çalışma koleksiyonu web sitesi nasıl oluşturulur

Adım 1 - HTML ekleyin:

<h2>PORTFOLYO</h2>
<div id="myBtnContainer">
  <button class="btn active" onclick="filterSelection('all')"> Tümünü göster</button>
  <button class="btn" onclick="filterSelection('nature')"> Doğa</button>
  <button class="btn" onclick="filterSelection('cars')"> Arabalar</button>
  <button class="btn" onclick="filterSelection('people')"> İnsanlar</button>
</div>
<!-- Çalışma koleksiyonu galeri ağı -->
<div class="row">
  <div class="column nature">
    <div class="content">
      <img src="/w3images/mountains.jpg" alt="Mountains" style="width:100%">
      <h4>Dağlar</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>Işıklar</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>Orman</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>Eski Dönem</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>Hızlı</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>Classik</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>Kız</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>Erkek</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>Bayan</h4>
      <p>Lorem ipsum dolor..</p>
    </div>
  </div>
<!-- Ağ sonlandırma -->
</div>

İkinci adım - CSS ekleyin:

* {
  box-sizing: border-box;
}
body {
  background-color: #f1f1f1;
  padding: 20px;
  padding: 20px;
}
font-family: Arial;
/* Web sitesini ortada yerleştirin */
  .main {
  max-width: 1000px;
}
margin: auto;
  h1 {
  font-size: 50px;
}
word-break: break-all;
  margin: 8px -16px;
}
/* Sütunlar arasında iç boşluk ekleyin (gerekirse) */
.row {
.row > .column {
  padding: 8px;
}
/* Üç eşit genişlikte yan yana sütun oluşturun */
.column {
  float: left;
  width: 33.33%;
  display: none; /*Varsayılan olarak sütunları gizleyin */
}
/* Satır sonrasını temizleyin */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* İçerik */
.content {
  background-color: white;
  padding: 10px;
}
/* "show" sınıfı filtrelenmiş elementlere eklenmiştir */
.show {
  display: block;
}
/* Düğmenin tarzını ayarlayın */
.btn {
  border: none;
  outline: none;
  padding: 12px 16px;
  background-color: white;
  cursor: pointer;
}
/* Fare işaretçisi üzerinde gri arka plan rengi ekleyin */
.btn:hover {
  background-color: #ddd;
}
/* Aktiv düğmeye koyu renk arka plan rengi ekleyin */
.btn.active {
  background-color: #666;
   color: white;
}

Üçüncü adım - JavaScript ekleyin:

filterSelection("all") // Fonksiyonu çalıştır ve tüm sütunları göster
function filterSelection(c) {
  var x, i;
  x = document.getElementsByClassName("column");
  if (c == "all") c = "";
  // "show" sınıfını (display:block) filtrelenmiş elementlere ekleyin ve seçilmemiş elementlerden "show" sınıfını kaldırın
  for (i = 0; i < x.length; i++) {
    w3RemoveClass(x[i], "show");
    if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show");
  }
}
// Filtrelenmiş elementleri gösterin
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];
    }
  }
}
// Seçilmemiş elementleri gizleyin
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(" ");
}
// Etkin sınıfı mevcut düğmeye ekleyin (ön planda gösterin)
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";
  });
}

Kişisel olarak deneyin

İlgili sayfalar

Rehber:Nasıl Oluşturulur: Çalışma Koleksiyonu Kütüphanesi