কিভাবে তৈরি করা যায়: ফোল্ডাবল কনটেন্ট/হাউসফোল্ড

অ্যাকর্ডিয়ন (ফোল্ডবক্স কনটেন্ট) তৈরি করার জন্য শিখুন

অ্যাকর্ডিয়ন

যখন আপনি লুকানো এবং দেখানোর মধ্যে বেশ বেশ বড় পরিমাণের কনটেন্ট ফিরে যাওয়ার ইচ্ছা করেন, তখন অ্যাকর্ডিয়ন অত্যন্ত উপযোগী

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.

亲自试一试

অ্যাকর্ডিয়ন তৈরি করুন

প্রথম পদক্ষেপ - এইচটিএমএল যোগ করুন:

<button class="accordion">সেকশন 1</button>
<div class="panel">
  <p>Lorem ipsum...</p>
</div>
<button class="accordion">সেকশন 2</button>
<div class="panel">
  <p>Lorem ipsum...</p>
</div>
<button class="accordion">সেকশন 3</button>
<div class="panel">
  <p>Lorem ipsum...</p>
</div>

দ্বিতীয় পদক্ষেপ - সিএসএস যোগ করুন:

অ্যাকর্ডিয়নের স্টাইল সেট করুন

/* হ্যান্ডলার বুটনটির সাথে ওপেন এবং ক্লোজ অ্যাকর্ডিয়ন প্যানেলের স্টাইল সেট করুন */
.accordion {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  transition: 0.4s;
}
/* যদি বুটনটি ক্লিক করা হয় (JS দ্বারা .active শ্রেণী যোগ করা), তবে তার পিছনের রঙ এবং মাউস ওভার (হভার) সময়ের জন্য রঙ যোগ করুন */
.active, .accordion:hover {
  background-color: #ccc;
}
/* অ্যাকর্ডিয়ন প্যানেলকে স্টাইল যোগ করুন. নোট: ডিফল্টভাবে লুকানো আছে */
.panel {
  padding: 0 18px;
  background-color: white;
  display: none;
  overflow: hidden;
}

তৃতীয় পদক্ষেপ - জেইস্ক্রিপ্ট যোগ করুন:

var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
  acc[i].addEventListener("click", function() {
    /* "active" শ্রেণী যোগ করা এবং অপসারণ করা করে নিউনত্ব প্রদর্শন করার জন্য বুটনটির সাথে ফোকাস করুন */
    this.classList.toggle("active");
    /* একটি সক্রিয় প্যানেল হিসাবে লুকানো এবং দেখানোর মধ্যে ফিরে যান */
    var panel = this.nextElementSibling;
    if (panel.style.display === "block") {}}
      panel.style.display = "none";
    } else {
      panel.style.display = "block";
    }
  });
}

亲自试一试

এনিমেশন হাউসফোল্ড (নিচের দিকের সরবরাহ)

একটি এনিমেশন হাউসফোল্ড তৈরি করতে, প্যানেল ক্লাসে এডজাস্ট করুন max-height: 0overflow: hidden এবং max-height এবং প্রক্রিয়ার ট্রানজিশন ইফেক্ট প্রতিষ্ঠা করুন。

তারপর, JavaScript-এর মাধ্যমে বিভিন্ন স্ক্রিন মাপ অনুযায়ী প্যানেলের উচ্চতা গণনা করে নিয়ে নিয়ে সেট করুন max-heightএভাবে কনটেন্টটির নিচের দিকের সরবরাহ ইফেক্ট তৈরি করুন:

<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>

亲自试一试

আইকন যোগ করুন

প্রত্যেক বাটনে একটি চিহ্ন যোগ করুন যাতে সরল কনটেন্টটি খোলা হয়েছে কিংবা বন্ধ করা হয়েছে তা নির্ণয় করা যায়:

.accordion:after {
  content: '\02795'; /* "রোমান নিউটন হাইড্রোজেন সাইডের ইউনিকোড অক্ষর */
  font-size: 13px;
  color: #777;
  float: right;
  margin-left: 5px;
}
.active:after {
  content: "\2796"; /* "রোমান নিউটন হাইড্রোজেন সাইডের ইউনিকোড অক্ষর */
}

亲自试一试