Nasıl oluşturulur: Katlanabilir içerik/akordeon
Akordiyon nasıl oluşturulur (katlanabilir içerik) öğrenin。
Akordiyon
Bir çok içerik arasında gizlemek ve göstermek arasında geçiş yapmak istediğinizde, akordiyon oldukça kullanışlıdır:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Akordiyon oluşturun
İlk adım - HTML ekleyin:
<button class="accordion">Bölüm 1</button> <div class="panel"> <p>Lorem ipsum...</p> </div> <button class="accordion">Bölüm 2</button> <div class="panel"> <p>Lorem ipsum...</p> </div> <button class="accordion">Bölüm 3</button> <div class="panel"> <p>Lorem ipsum...</p> </div>
İkinci adım - CSS ekleyin:
Akordiyonun stillerini ayarlayın
/* Akordiyon panellerini açmak ve kapatmak için kullanılan düğmelerin stillerini ayarlayın */ .accordion { background-color: #eee; color: #444; cursor: pointer; padding: 18px; width: 100%; text-align: left; border: none; outline: none; transition: 0.4s; } /* Düğme tıklanırsa (JS ile .active sınıfı eklenir) arka plan rengi ekleyin ve fare işlevi üzerine gelindiğinde (fare işlevi) */ .active, .accordion:hover { background-color: #ccc; } /* Akordiyon panellerine stil ekleyin. Dikkat: varsayılan olarak gizlidir */ .panel { padding: 0 18px; background-color: white; display: none; overflow: hidden; }
Üçüncü adım - JavaScript ekleyin:
var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { /* "active" sınıfını ekleyip kaldırmak için değiştir, böylece kontrol paneli düğmelerini vurgulamak için */ this.classList.toggle("active"); /* Geçici panelleri gizlemek ve göstermek için değiştir */ var panel = this.nextElementSibling; if (panel.style.display === "block") {}} panel.style.display = "none"; } else { panel.style.display = "block"; } }); }
Animasyonlu elyaf akor (aşağı kayma)
Animasyonlu elyaf akorunu yapmak için, panel sınıfına: max-height: 0
veoverflow: hidden
ve max-height
geçiş etkisi özelliği.
Ardından, farklı ekran boyutlarına göre panel yüksekliğini hesaplayıp ayarlamak için JavaScript kullanın: max-height
İçeriğin aşağı kayma etkisini elde etmek için:
<style> .panel { padding: 0 18px; background-color: white; max-height: 0; overflow: hidden; transition: max-height 0.2s ease-out; } </style> <script> var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { this.classList.toggle("active"); var panel = this.nextElementSibling; if (panel.style.maxHeight) { panel.style.maxHeight = null; } else { panel.style.maxHeight = panel.scrollHeight + "px"; } }); } </script>
İkon ekle
Her düğmeye bir simge ekleyin, bu da katlanabilir içeriğin açık mı kapalı mı olduğunu gösterir:
.accordion:after { content: '\02795'; /* "ekle" (+) karakterinin Unicode kodu */ font-size: 13px; color: #777; float: right; margin-left: 5px; } .active:after { content: "\2796"; /* "çarpıcı" (−) karakterinin Unicode kodu */ }