كيفية إنشاء: محتوى قابلة للطي/آلة موسيقية
- الصفحة السابقة شعار القائمة
- الصفحة التالية بطاقة التبديل
تعلم كيفية إنشاء لوحة الموسيقية (محتوى قابلة للطي).
لوحة الموسيقية
عندما تريد التبديل بين إخفاء وعرض كميات كبيرة من المحتوى، تكون لوحة الموسيقية مفيدة جداً:
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.
إنشاء لوحة الموسيقية
الخطوة الأولى - إضافة HTML:
<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>
الخطوة الثانية - إضافة CSS:
تحديد أنماط لوحة الموسيقية
/* تحديد أنماط الزر المستخدم لفتح وإغلاق لوحة الموسيقية */ .accordion { background-color: #eee; color: #444; cursor: pointer; padding: 18px; width: 100%; text-align: left; border: none; outline: none; transition: 0.4s; } /* إذا تم ضغط الزر (إضافة النوع الفعّال باستخدام JS)، فأضف لونه الخلفي، وكذلك عند مرور الفأرة فوقه (التمييز) */ .active, .accordion:hover { background-color: #ccc; } /* إضافة أنماط للوحة الموسيقية. ملاحظة: بالافتراض تكون مخفية */ .panel { padding: 0 18px; background-color: white; display: none; overflow: hidden; }
الخطوة الثالثة - إضافة JavaScript:
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.display === "block") {}} panel.style.display = "none"; } else { panel.style.display = "block"; } }); }
أداة السحاب الموسيقى (التمرير إلى الأسفل)
لصنع أداة السحاب الموسيقى، أضف max-height: 0
،overflow: 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'; /* "الإضافي" (الإيجابي) رمز الحروف Unicode */ font-size: 13px; color: #777; float: right; margin-left: 5px; } .active:after { content: "\2796"; /* "الناقص" (السالب) رمز الحروف Unicode */ }
- الصفحة السابقة شعار القائمة
- الصفحة التالية بطاقة التبديل